home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Updaters / WhiteCap 3.0.4 / WhiteCap Source.sit / WhiteCap Source / Common / Graphics / DrawXX.cpp next >
MacBinary  |  1999-08-01  |  14.0 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: DrawXX.cpp

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sun Aug 1 03:43:17 1999, modified Sun Aug 1 03:43:17 1999, creator 'CWIE', type ASCII, 13607 bytes "DrawXX.cpp" , at 0x35a7 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 44 72 61 77 58 58 | 2e 63 70 70 00 00 00 00 |..DrawXX|.cpp....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 35 27 00 | 00 01 9a b3 c9 ab 15 b3 |.....5'.|........|
|00000060| c9 ab 15 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 3b 53 00 00 |........|....;S..|
|00000080| 23 69 66 20 50 5f 53 5a | 20 3d 3d 20 31 0d 09 23 |#if P_SZ| == 1..#|
|00000090| 64 65 66 69 6e 65 20 50 | 49 58 54 59 50 45 20 75 |define P|IXTYPE u|
|000000a0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 0d 09 23 64 |nsigned |char..#d|
|000000b0| 65 66 69 6e 65 20 52 45 | 44 53 48 49 46 54 20 34 |efine RE|DSHIFT 4|
|000000c0| 0d 09 23 64 65 66 69 6e | 65 20 47 52 4e 53 48 49 |..#defin|e GRNSHI|
|000000d0| 46 54 20 32 0d 09 23 64 | 65 66 69 6e 65 20 43 4f |FT 2..#d|efine CO|
|000000e0| 4c 4d 41 53 4b 20 30 78 | 33 0d 09 23 64 65 66 69 |LMASK 0x|3..#defi|
|000000f0| 6e 65 20 5f 4c 69 6e 65 | 09 09 09 4c 69 6e 65 38 |ne _Line|...Line8|
|00000100| 0d 09 23 64 65 66 69 6e | 65 20 5f 42 6f 78 42 6c |..#defin|e _BoxBl|
|00000110| 75 72 09 09 42 6f 78 42 | 6c 75 72 38 0d 09 23 64 |ur..BoxB|lur8..#d|
|00000120| 65 66 69 6e 65 20 5f 43 | 72 6f 73 73 42 6c 75 72 |efine _C|rossBlur|
|00000130| 09 09 43 72 6f 73 73 42 | 6c 75 72 38 0d 09 23 64 |..CrossB|lur8..#d|
|00000140| 65 66 69 6e 65 20 5f 45 | 72 61 73 65 52 65 63 74 |efine _E|raseRect|
|00000150| 09 09 45 72 61 73 65 52 | 65 63 74 38 0d 09 23 64 |..EraseR|ect8..#d|
|00000160| 65 66 69 6e 65 20 5f 5f | 43 6c 72 28 72 2c 67 2c |efine __|Clr(r,g,|
|00000170| 62 29 09 30 0d 23 65 6c | 69 66 20 50 5f 53 5a 20 |b).0.#el|if P_SZ |
|00000180| 3d 3d 20 32 0d 09 23 64 | 65 66 69 6e 65 20 50 49 |== 2..#d|efine PI|
|00000190| 58 54 59 50 45 20 75 6e | 73 69 67 6e 65 64 20 73 |XTYPE un|signed s|
|000001a0| 68 6f 72 74 0d 09 23 64 | 65 66 69 6e 65 20 52 45 |hort..#d|efine RE|
|000001b0| 44 53 48 49 46 54 20 31 | 30 0d 09 23 64 65 66 69 |DSHIFT 1|0..#defi|
|000001c0| 6e 65 20 47 52 4e 53 48 | 49 46 54 20 35 0d 09 23 |ne GRNSH|IFT 5..#|
|000001d0| 64 65 66 69 6e 65 20 43 | 4f 4c 4d 41 53 4b 20 30 |define C|OLMASK 0|
|000001e0| 78 31 46 0d 09 23 64 65 | 66 69 6e 65 20 5f 4c 69 |x1F..#de|fine _Li|
|000001f0| 6e 65 09 09 09 4c 69 6e | 65 31 36 0d 09 23 64 65 |ne...Lin|e16..#de|
|00000200| 66 69 6e 65 20 5f 42 6f | 78 42 6c 75 72 09 09 42 |fine _Bo|xBlur..B|
|00000210| 6f 78 42 6c 75 72 31 36 | 0d 09 23 64 65 66 69 6e |oxBlur16|..#defin|
|00000220| 65 20 5f 43 72 6f 73 73 | 42 6c 75 72 09 09 43 72 |e _Cross|Blur..Cr|
|00000230| 6f 73 73 42 6c 75 72 31 | 36 0d 09 23 64 65 66 69 |ossBlur1|6..#defi|
|00000240| 6e 65 20 5f 45 72 61 73 | 65 52 65 63 74 09 09 45 |ne _Eras|eRect..E|
|00000250| 72 61 73 65 52 65 63 74 | 31 36 0d 09 23 64 65 66 |raseRect|16..#def|
|00000260| 69 6e 65 20 5f 5f 43 6c | 72 28 72 2c 67 2c 62 29 |ine __Cl|r(r,g,b)|
|00000270| 09 28 28 28 72 20 26 20 | 30 78 46 38 30 30 29 20 |.(((r & |0xF800) |
|00000280| 3e 3e 20 31 29 20 7c 20 | 28 28 67 20 26 20 30 78 |>> 1) | |((g & 0x|
|00000290| 46 38 30 30 29 20 3e 3e | 20 36 29 20 7c 20 28 62 |F800) >>| 6) | (b|
|000002a0| 20 3e 3e 20 31 31 29 29 | 0d 23 65 6c 69 66 20 50 | >> 11))|.#elif P|
|000002b0| 5f 53 5a 20 3d 3d 20 34 | 0d 09 23 64 65 66 69 6e |_SZ == 4|..#defin|
|000002c0| 65 20 50 49 58 54 59 50 | 45 20 75 6e 73 69 67 6e |e PIXTYP|E unsign|
|000002d0| 65 64 20 6c 6f 6e 67 0d | 09 23 64 65 66 69 6e 65 |ed long.|.#define|
|000002e0| 20 52 45 44 53 48 49 46 | 54 20 31 36 0d 09 23 64 | REDSHIF|T 16..#d|
|000002f0| 65 66 69 6e 65 20 47 52 | 4e 53 48 49 46 54 20 38 |efine GR|NSHIFT 8|
|00000300| 0d 09 23 64 65 66 69 6e | 65 20 43 4f 4c 4d 41 53 |..#defin|e COLMAS|
|00000310| 4b 20 30 78 46 46 0d 09 | 23 64 65 66 69 6e 65 20 |K 0xFF..|#define |
|00000320| 5f 4c 69 6e 65 09 09 09 | 4c 69 6e 65 33 32 0d 09 |_Line...|Line32..|
|00000330| 23 64 65 66 69 6e 65 20 | 5f 42 6f 78 42 6c 75 72 |#define |_BoxBlur|
|00000340| 09 09 42 6f 78 42 6c 75 | 72 33 32 0d 09 23 64 65 |..BoxBlu|r32..#de|
|00000350| 66 69 6e 65 20 5f 43 72 | 6f 73 73 42 6c 75 72 09 |fine _Cr|ossBlur.|
|00000360| 09 43 72 6f 73 73 42 6c | 75 72 33 32 0d 09 23 64 |.CrossBl|ur32..#d|
|00000370| 65 66 69 6e 65 20 5f 45 | 72 61 73 65 52 65 63 74 |efine _E|raseRect|
|00000380| 09 09 45 72 61 73 65 52 | 65 63 74 33 32 0d 09 23 |..EraseR|ect32..#|
|00000390| 69 66 20 45 47 5f 4d 41 | 43 20 0d 09 23 64 65 66 |if EG_MA|C ..#def|
|000003a0| 69 6e 65 09 5f 5f 43 6c | 72 28 72 2c 67 2c 62 29 |ine.__Cl|r(r,g,b)|
|000003b0| 09 28 28 28 72 20 26 20 | 30 78 46 46 30 30 29 20 |.(((r & |0xFF00) |
|000003c0| 3c 3c 20 38 29 20 7c 20 | 28 67 20 26 20 30 78 46 |<< 8) | |(g & 0xF|
|000003d0| 46 30 30 29 20 7c 20 28 | 62 20 3e 3e 20 38 29 29 |F00) | (|b >> 8))|
|000003e0| 0d 09 23 65 6c 69 66 20 | 45 47 5f 57 49 4e 0d 09 |..#elif |EG_WIN..|
|000003f0| 23 64 65 66 69 6e 65 09 | 5f 5f 43 6c 72 28 72 2c |#define.|__Clr(r,|
|00000400| 67 2c 62 29 09 5f 5f 77 | 69 6e 52 47 42 28 20 72 |g,b).__w|inRGB( r|
|00000410| 2c 20 67 2c 20 62 20 29 | 0d 09 23 65 6e 64 69 66 |, g, b )|..#endif|
|00000420| 0d 0d 23 65 6e 64 69 66 | 0d 0d 0d 0d 0d 23 64 65 |..#endif|.....#de|
|00000430| 66 69 6e 65 20 5f 5f 64 | 6f 58 65 72 72 09 09 65 |fine __d|oXerr..e|
|00000440| 72 72 6f 72 5f 74 65 72 | 6d 20 2b 3d 20 64 79 3b |rror_ter|m += dy;|
|00000450| 09 09 09 09 5c 0d 09 09 | 09 09 09 09 69 66 20 28 |....\...|....if (|
|00000460| 20 65 72 72 6f 72 5f 74 | 65 72 6d 20 3e 3d 20 64 | error_t|erm >= d|
|00000470| 78 20 29 20 7b 09 09 5c | 0d 09 09 09 09 09 09 09 |x ) {..\|........|
|00000480| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2d 3d 20 64 78 |error_te|rm -= dx|
|00000490| 3b 09 09 09 5c 0d 09 09 | 09 09 09 09 09 62 61 73 |;...\...|.....bas|
|000004a0| 65 50 74 72 20 2b 3d 20 | 72 6f 77 4f 66 66 73 65 |ePtr += |rowOffse|
|000004b0| 74 3b 09 09 5c 0d 09 09 | 09 09 09 09 09 79 6d 6f |t;..\...|.....ymo|
|000004c0| 76 2d 2d 3b 09 09 09 09 | 09 09 5c 0d 09 09 09 09 |v--;....|..\.....|
|000004d0| 09 09 7d 0d 09 09 09 09 | 09 09 0d 09 09 09 09 09 |..}.....|........|
|000004e0| 09 0d 23 64 65 66 69 6e | 65 20 5f 5f 64 6f 59 65 |..#defin|e __doYe|
|000004f0| 72 72 09 09 65 72 72 6f | 72 5f 74 65 72 6d 20 2b |rr..erro|r_term +|
|00000500| 3d 20 64 78 3b 09 09 09 | 09 5c 0d 09 09 09 09 09 |= dx;...|.\......|
|00000510| 09 69 66 20 28 20 65 72 | 72 6f 72 5f 74 65 72 6d |.if ( er|ror_term|
|00000520| 20 3e 3d 20 64 79 20 29 | 20 7b 09 09 5c 0d 09 09 | >= dy )| {..\...|
|00000530| 09 09 09 09 09 65 72 72 | 6f 72 5f 74 65 72 6d 20 |.....err|or_term |
|00000540| 2d 3d 20 64 79 3b 09 09 | 09 5c 0d 09 09 09 09 09 |-= dy;..|.\......|
|00000550| 09 09 62 61 73 65 50 74 | 72 20 2b 3d 20 78 44 69 |..basePt|r += xDi|
|00000560| 72 65 63 74 69 6f 6e 3b | 09 09 5c 0d 09 09 09 09 |rection;|..\.....|
|00000570| 09 09 09 78 6d 6f 76 2d | 2d 3b 09 09 09 09 09 09 |...xmov-|-;......|
|00000580| 5c 0d 09 09 09 09 09 09 | 7d 0d 0d 23 64 65 66 69 |\.......|}..#defi|
|00000590| 6e 65 20 5f 5f 63 61 6c | 63 43 6c 72 09 09 63 6f |ne __cal|cClr..co|
|000005a0| 6c 6f 72 20 3d 20 5f 5f | 43 6c 72 28 20 52 2c 20 |lor = __|Clr( R, |
|000005b0| 47 2c 20 42 20 29 3b 09 | 09 5c 0d 09 09 09 09 09 |G, B );.|.\......|
|000005c0| 09 52 20 2b 3d 20 64 52 | 3b 09 09 09 09 09 09 5c |.R += dR|;......\|
|000005d0| 0d 09 09 09 09 09 09 47 | 20 2b 3d 20 64 47 3b 09 |.......G| += dG;.|
|000005e0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 42 20 2b |.....\..|.....B +|
|000005f0| 3d 20 64 42 3b 0d 0d 0d | 23 64 65 66 69 6e 65 20 |= dB;...|#define |
|00000600| 5f 5f 63 69 72 63 28 20 | 64 69 61 2c 20 61 20 29 |__circ( |dia, a )|
|00000610| 09 73 77 69 74 63 68 20 | 28 20 28 64 69 61 29 20 |.switch |( (dia) |
|00000620| 29 09 09 7b 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |)..{....|.....\..|
|00000630| 09 09 09 09 09 09 09 63 | 61 73 65 20 32 3a 09 09 |.......c|ase 2:..|
|00000640| 61 20 3d 20 22 5c 30 5c | 30 22 3b 20 62 72 65 61 |a = "\0\|0"; brea|
|00000650| 6b 3b 09 09 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |k;......|.\......|
|00000660| 09 09 09 63 61 73 65 20 | 33 3a 09 09 61 20 3d 20 |...case |3:..a = |
|00000670| 22 5c 30 5c 30 5c 30 22 | 3b 20 62 72 65 61 6b 3b |"\0\0\0"|; break;|
|00000680| 09 09 09 09 09 09 5c 0d | 09 09 09 09 09 09 09 09 |......\.|........|
|00000690| 63 61 73 65 20 34 3a 09 | 09 61 20 3d 20 22 5c 31 |case 4:.|.a = "\1|
|000006a0| 5c 30 5c 30 5c 31 22 3b | 20 62 72 65 61 6b 3b 09 |\0\0\1";| break;.|
|000006b0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |.....\..|.......c|
|000006c0| 61 73 65 20 35 3a 09 09 | 61 20 3d 20 22 5c 31 5c |ase 5:..|a = "\1\|
|000006d0| 30 5c 30 5c 30 5c 31 22 | 3b 20 62 72 65 61 6b 3b |0\0\0\1"|; break;|
|000006e0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |.....\..|.......c|
|000006f0| 61 73 65 20 36 3a 09 09 | 61 20 3d 20 22 5c 31 5c |ase 6:..|a = "\1\|
|00000700| 30 5c 30 5c 30 5c 30 5c | 31 22 3b 20 62 72 65 61 |0\0\0\0\|1"; brea|
|00000710| 6b 3b 09 09 09 09 09 5c | 0d 09 09 09 09 09 09 09 |k;.....\|........|
|00000720| 09 63 61 73 65 20 37 3a | 09 09 61 20 3d 20 22 5c |.case 7:|..a = "\|
|00000730| 32 5c 31 5c 30 5c 30 5c | 30 5c 31 5c 32 22 3b 20 |2\1\0\0\|0\1\2"; |
|00000740| 62 72 65 61 6b 3b 09 09 | 09 09 5c 0d 09 09 09 09 |break;..|..\.....|
|00000750| 09 09 09 09 63 61 73 65 | 20 38 3a 09 09 61 20 3d |....case| 8:..a =|
|00000760| 20 22 5c 32 5c 31 5c 30 | 5c 30 5c 30 5c 30 5c 31 | "\2\1\0|\0\0\0\1|
|00000770| 5c 32 22 3b 20 62 72 65 | 61 6b 3b 09 09 09 09 5c |\2"; bre|ak;....\|
|00000780| 0d 09 09 09 09 09 09 09 | 09 63 61 73 65 20 39 3a |........|.case 9:|
|00000790| 09 09 61 20 3d 20 22 5c | 33 5c 31 5c 31 5c 30 5c |..a = "\|3\1\1\0\|
|000007a0| 30 5c 30 5c 31 5c 31 5c | 33 22 3b 20 62 72 65 61 |0\0\1\1\|3"; brea|
|000007b0| 6b 3b 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |k;...\..|.......c|
|000007c0| 61 73 65 20 31 30 3a 09 | 61 20 3d 20 22 5c 33 5c |ase 10:.|a = "\3\|
|000007d0| 31 5c 31 5c 30 5c 30 5c | 30 5c 30 5c 31 5c 31 5c |1\1\0\0\|0\0\1\1\|
|000007e0| 33 22 3b 20 62 72 65 61 | 6b 3b 09 09 09 5c 0d 09 |3"; brea|k;...\..|
|000007f0| 09 09 09 09 09 09 09 63 | 61 73 65 20 31 31 3a 09 |.......c|ase 11:.|
|00000800| 61 20 3d 20 22 5c 34 5c | 32 5c 31 5c 31 5c 30 5c |a = "\4\|2\1\1\0\|
|00000810| 30 5c 30 5c 31 5c 31 5c | 32 5c 34 22 3b 20 62 72 |0\0\1\1\|2\4"; br|
|00000820| 65 61 6b 3b 09 09 5c 0d | 09 09 09 09 09 09 09 09 |eak;..\.|........|
|00000830| 63 61 73 65 20 31 32 3a | 09 61 20 3d 20 22 5c 34 |case 12:|.a = "\4|
|00000840| 5c 32 5c 31 5c 31 5c 30 | 5c 30 5c 30 5c 30 5c 31 |\2\1\1\0|\0\0\0\1|
|00000850| 5c 31 5c 32 5c 34 22 3b | 20 62 72 65 61 6b 3b 09 |\1\2\4";| break;.|
|00000860| 09 5c 0d 09 09 09 09 09 | 09 09 7d 0d 09 09 09 09 |.\......|..}.....|
|00000870| 09 09 09 09 0d 0d 23 64 | 65 66 69 6e 65 20 43 4c |......#d|efine CL|
|00000880| 52 5f 49 4e 54 45 52 50 | 20 31 0d 23 69 6e 63 6c |R_INTERP| 1.#incl|
|00000890| 75 64 65 20 22 4c 69 6e | 65 58 58 2e 63 70 70 22 |ude "Lin|eXX.cpp"|
|000008a0| 0d 23 75 6e 64 65 66 20 | 43 4c 52 5f 49 4e 54 45 |.#undef |CLR_INTE|
|000008b0| 52 50 0d 23 69 6e 63 6c | 75 64 65 20 22 4c 69 6e |RP.#incl|ude "Lin|
|000008c0| 65 58 58 2e 63 70 70 22 | 0d 0d 2f 2a 0d 76 6f 69 |eXX.cpp"|../*.voi|
|000008d0| 64 20 50 69 78 50 6f 72 | 74 3a 3a 5f 4c 69 6e 65 |d PixPor|t::_Line|
|000008e0| 28 20 69 6e 74 20 73 78 | 2c 20 69 6e 74 20 73 79 |( int sx|, int sy|
|000008f0| 2c 20 69 6e 74 20 65 78 | 2c 20 69 6e 74 20 65 79 |, int ex|, int ey|
|00000900| 2c 20 6c 6f 6e 67 20 69 | 6e 43 6f 6c 6f 72 20 29 |, long i|nColor )|
|00000910| 20 7b 0d 09 69 6e 74 20 | 78 44 69 72 65 63 74 69 | {..int |xDirecti|
|00000920| 6f 6e 2c 20 72 6f 77 4f | 66 66 73 65 74 2c 20 65 |on, rowO|ffset, e|
|00000930| 72 72 6f 72 5f 74 65 72 | 6d 3b 0d 09 63 68 61 72 |rror_ter|m;..char|
|00000940| 2a 20 62 61 73 65 50 74 | 72 3b 0d 09 69 6e 74 20 |* basePt|r;..int |
|00000950| 78 6d 6f 76 2c 20 79 6d | 6f 76 2c 20 64 78 2c 20 |xmov, ym|ov, dx, |
|00000960| 64 79 2c 20 74 3b 0d 09 | 0d 09 2f 2f 20 43 6c 69 |dy, t;..|..// Cli|
|00000970| 70 70 69 6e 67 3a 20 53 | 65 74 20 74 68 65 20 70 |pping: S|et the p|
|00000980| 65 6e 20 6c 6f 63 20 74 | 6f 20 61 20 70 6f 69 6e |en loc t|o a poin|
|00000990| 74 20 74 68 61 74 27 73 | 20 69 6e 20 61 6e 64 20 |t that's| in and |
|000009a0| 73 74 6f 70 20 64 72 61 | 77 69 6e 67 20 6f 6e 63 |stop dra|wing onc|
|000009b0| 65 2f 69 66 20 74 68 65 | 20 70 65 6e 20 6d 6f 76 |e/if the| pen mov|
|000009c0| 65 73 20 6f 75 74 0d 09 | 69 66 20 28 20 73 78 20 |es out..|if ( sx |
|000009d0| 3c 20 30 20 7c 7c 20 73 | 78 20 3e 20 6d 58 20 7c |< 0 || s|x > mX ||
|000009e0| 7c 20 73 79 20 3c 20 30 | 20 7c 7c 20 73 79 20 3e || sy < 0| || sy >|
|000009f0| 20 6d 59 20 29 20 7b 0d | 09 09 74 20 3d 20 65 78 | mY ) {.|..t = ex|
|00000a00| 3b 20 65 78 20 3d 20 73 | 78 3b 20 73 78 20 3d 20 |; ex = s|x; sx = |
|00000a10| 74 3b 0d 09 09 74 20 3d | 20 65 79 3b 20 65 79 20 |t;...t =| ey; ey |
|00000a20| 3d 20 73 79 3b 20 73 79 | 20 3d 20 74 3b 0d 09 7d |= sy; sy| = t;..}|
|00000a30| 0d 09 0d 09 2f 2f 20 45 | 78 69 74 20 69 66 20 74 |....// E|xit if t|
|00000a40| 68 65 20 73 74 61 72 74 | 20 70 74 20 69 73 20 6f |he start| pt is o|
|00000a50| 75 74 20 6f 66 20 62 6f | 75 6e 64 73 20 28 77 69 |ut of bo|unds (wi|
|00000a60| 6d 70 79 20 63 6c 69 70 | 70 69 6e 67 2c 20 65 68 |mpy clip|ping, eh|
|00000a70| 3f 29 0d 09 69 66 20 28 | 20 73 78 20 3c 20 30 20 |?)..if (| sx < 0 |
|00000a80| 7c 7c 20 73 78 20 3e 20 | 6d 58 20 7c 7c 20 73 79 ||| sx > |mX || sy|
|00000a90| 20 3c 20 30 20 7c 7c 20 | 73 79 20 3e 20 6d 59 20 | < 0 || |sy > mY |
|00000aa0| 29 0d 09 09 72 65 74 75 | 72 6e 3b 0d 0d 09 2f 2f |)...retu|rn;...//|
|00000ab0| 20 49 6e 20 57 69 6e 33 | 32 2c 20 65 76 65 72 79 | In Win3|2, every|
|00000ac0| 74 68 69 6e 67 27 73 20 | 75 70 73 69 64 65 20 64 |thing's |upside d|
|00000ad0| 6f 77 6e 0d 09 23 69 66 | 20 45 47 5f 57 49 4e 0d |own..#if| EG_WIN.|
|00000ae0| 09 73 79 20 3d 20 6d 59 | 20 2d 20 73 79 3b 0d 09 |.sy = mY| - sy;..|
|00000af0| 65 79 20 3d 20 6d 59 20 | 2d 20 65 79 3b 0d 09 23 |ey = mY |- ey;..#|
|00000b00| 65 6e 64 69 66 09 0d 09 | 0d 09 64 78 20 3d 20 65 |endif...|..dx = e|
|00000b10| 78 20 2d 20 73 78 3b 0d | 09 64 79 20 3d 20 65 79 |x - sx;.|.dy = ey|
|00000b20| 20 2d 20 73 79 3b 0d 09 | 09 0d 09 2f 2f 20 6d 6f | - sy;..|...// mo|
|00000b30| 76 69 6e 67 20 6c 65 66 | 74 20 6f 72 20 72 69 67 |ving lef|t or rig|
|00000b40| 68 74 3f 0d 09 78 6d 6f | 76 20 3d 20 64 78 3b 0d |ht?..xmo|v = dx;.|
|00000b50| 09 69 66 20 28 20 64 78 | 20 3c 20 30 20 29 20 7b |.if ( dx| < 0 ) {|
|00000b60| 0d 09 09 78 6d 6f 76 20 | 3d 20 2d 64 78 3b 0d 09 |...xmov |= -dx;..|
|00000b70| 09 69 66 20 28 20 73 78 | 20 2d 20 78 6d 6f 76 20 |.if ( sx| - xmov |
|00000b80| 3c 20 30 20 29 0d 09 09 | 09 78 6d 6f 76 20 3d 20 |< 0 )...|.xmov = |
|00000b90| 73 78 3b 0d 09 09 78 44 | 69 72 65 63 74 69 6f 6e |sx;...xD|irection|
|00000ba0| 20 3d 20 2d 20 50 5f 53 | 5a 3b 0d 09 09 64 78 20 | = - P_S|Z;...dx |
|00000bb0| 3d 20 2d 64 78 3b 20 7d | 0d 09 65 6c 73 65 20 69 |= -dx; }|..else i|
|00000bc0| 66 20 28 20 64 78 20 3e | 20 30 20 29 20 7b 0d 09 |f ( dx >| 0 ) {..|
|00000bd0| 09 69 66 20 28 20 73 78 | 20 2b 20 78 6d 6f 76 20 |.if ( sx| + xmov |
|00000be0| 3e 20 6d 58 20 29 0d 09 | 09 09 78 6d 6f 76 20 3d |> mX )..|..xmov =|
|00000bf0| 20 6d 58 20 2d 20 73 78 | 3b 0d 09 09 78 44 69 72 | mX - sx|;...xDir|
|00000c00| 65 63 74 69 6f 6e 20 3d | 20 50 5f 53 5a 3b 20 20 |ection =| P_SZ; |
|00000c10| 7d 0d 09 65 6c 73 65 20 | 0d 09 09 78 44 69 72 65 |}..else |...xDire|
|00000c20| 63 74 69 6f 6e 20 3d 20 | 30 3b 0d 0d 09 2f 2f 20 |ction = |0;...// |
|00000c30| 6d 6f 76 69 6e 67 20 75 | 70 20 6f 72 20 64 6f 77 |moving u|p or dow|
|00000c40| 6e 3f 0d 09 79 6d 6f 76 | 20 3d 20 64 79 3b 0d 09 |n?..ymov| = dy;..|
|00000c50| 69 66 20 28 20 64 79 20 | 3c 20 30 20 29 20 7b 0d |if ( dy |< 0 ) {.|
|00000c60| 09 09 79 6d 6f 76 20 3d | 20 2d 64 79 3b 0d 09 09 |..ymov =| -dy;...|
|00000c70| 69 66 20 28 20 73 79 20 | 2d 20 79 6d 6f 76 20 3c |if ( sy |- ymov <|
|00000c80| 20 30 20 29 0d 09 09 09 | 79 6d 6f 76 20 3d 20 73 | 0 )....|ymov = s|
|00000c90| 79 3b 0d 09 09 72 6f 77 | 4f 66 66 73 65 74 20 3d |y;...row|Offset =|
|00000ca0| 20 2d 20 6d 42 79 74 65 | 73 50 65 72 52 6f 77 3b | - mByte|sPerRow;|
|00000cb0| 0d 09 09 64 79 20 3d 20 | 2d 64 79 3b 20 7d 0d 09 |...dy = |-dy; }..|
|00000cc0| 65 6c 73 65 20 69 66 20 | 28 20 64 79 20 3e 20 30 |else if |( dy > 0|
|00000cd0| 20 29 20 7b 0d 09 09 69 | 66 20 28 20 73 79 20 2b | ) {...i|f ( sy +|
|00000ce0| 20 79 6d 6f 76 20 3e 20 | 6d 59 20 29 0d 09 09 09 | ymov > |mY )....|
|00000cf0| 79 6d 6f 76 20 3d 20 6d | 59 20 2d 20 73 79 3b 0d |ymov = m|Y - sy;.|
|00000d00| 09 09 72 6f 77 4f 66 66 | 73 65 74 20 3d 20 6d 42 |..rowOff|set = mB|
|00000d10| 79 74 65 73 50 65 72 52 | 6f 77 3b 20 20 7d 20 0d |ytesPerR|ow; } .|
|00000d20| 09 65 6c 73 65 0d 09 09 | 72 6f 77 4f 66 66 73 65 |.else...|rowOffse|
|00000d30| 74 20 3d 20 30 3b 0d 0d | 09 62 61 73 65 50 74 72 |t = 0;..|.basePtr|
|00000d40| 20 3d 20 6d 42 69 74 73 | 20 2b 20 73 79 20 2a 20 | = mBits| + sy * |
|00000d50| 6d 42 79 74 65 73 50 65 | 72 52 6f 77 20 2b 20 73 |mBytesPe|rRow + s|
|00000d60| 78 20 2a 20 50 5f 53 5a | 3b 0d 09 65 72 72 6f 72 |x * P_SZ|;..error|
|00000d70| 5f 74 65 72 6d 20 3d 20 | 30 3b 0d 0d 09 2f 2f 20 |_term = |0;...// |
|00000d80| 44 72 61 77 20 74 68 65 | 20 6c 69 6e 65 0d 09 69 |Draw the| line..i|
|00000d90| 66 20 28 20 64 78 20 3e | 3d 20 64 79 20 29 20 7b |f ( dx >|= dy ) {|
|00000da0| 0d 09 09 0d 09 09 2f 2f | 20 53 74 61 72 74 20 63 |......//| Start c|
|00000db0| 6f 75 6e 74 69 6e 67 20 | 6f 66 66 20 69 6e 20 78 |ounting |off in x|
|00000dc0| 0d 09 09 66 6f 72 20 28 | 20 3b 20 78 6d 6f 76 20 |...for (| ; xmov |
|00000dd0| 3e 3d 20 30 20 26 26 20 | 79 6d 6f 76 20 3e 3d 20 |>= 0 && |ymov >= |
|00000de0| 30 3b 20 78 6d 6f 76 2d | 2d 20 29 20 7b 0d 09 09 |0; xmov-|- ) {...|
|00000df0| 0d 09 09 09 2a 28 28 50 | 49 58 54 59 50 45 2a 29 |....*((P|IXTYPE*)|
|00000e00| 20 62 61 73 65 50 74 72 | 29 20 3d 20 69 6e 43 6f | basePtr|) = inCo|
|00000e10| 6c 6f 72 3b 0d 09 09 09 | 62 61 73 65 50 74 72 20 |lor;....|basePtr |
|00000e20| 2b 3d 20 78 44 69 72 65 | 63 74 69 6f 6e 3b 0d 0d |+= xDire|ction;..|
|00000e30| 09 09 09 2f 2f 20 43 68 | 65 63 6b 20 74 6f 20 73 |...// Ch|eck to s|
|00000e40| 65 65 20 69 66 20 77 65 | 20 6e 65 65 64 20 74 6f |ee if we| need to|
|00000e50| 20 6d 6f 76 65 20 74 68 | 65 20 70 69 78 65 6c 4f | move th|e pixelO|
|00000e60| 66 66 73 65 74 20 69 6e | 20 74 68 65 20 79 20 64 |ffset in| the y d|
|00000e70| 69 72 65 63 74 69 6f 6e | 2e 0d 09 09 09 65 72 72 |irection|.....err|
|00000e80| 6f 72 5f 74 65 72 6d 20 | 2b 3d 20 64 79 3b 0d 09 |or_term |+= dy;..|
|00000e90| 09 09 69 66 20 28 20 65 | 72 72 6f 72 5f 74 65 72 |..if ( e|rror_ter|
|00000ea0| 6d 20 3e 3d 20 64 78 20 | 29 20 7b 0d 09 09 09 09 |m >= dx |) {.....|
|00000eb0| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2d 3d 20 64 78 |error_te|rm -= dx|
|00000ec0| 3b 0d 09 09 09 09 62 61 | 73 65 50 74 72 20 2b 3d |;.....ba|sePtr +=|
|00000ed0| 20 72 6f 77 4f 66 66 73 | 65 74 3b 0d 09 09 09 09 | rowOffs|et;.....|
|00000ee0| 79 6d 6f 76 2d 2d 3b 0d | 09 09 09 7d 0d 09 09 7d |ymov--;.|...}...}|
|00000ef0| 20 7d 0d 09 65 6c 73 65 | 20 7b 0d 09 09 2f 2f 20 | }..else| {...// |
|00000f00| 53 74 61 72 74 20 63 6f | 75 6e 74 69 6e 67 20 6f |Start co|unting o|
|00000f10| 66 66 20 69 6e 20 79 0d | 09 09 66 6f 72 20 28 20 |ff in y.|..for ( |
|00000f20| 3b 20 79 6d 6f 76 20 3e | 3d 20 30 20 26 26 20 78 |; ymov >|= 0 && x|
|00000f30| 6d 6f 76 20 3e 3d 20 30 | 3b 20 79 6d 6f 76 2d 2d |mov >= 0|; ymov--|
|00000f40| 20 29 20 7b 0d 09 09 0d | 09 09 09 2a 28 28 50 49 | ) {....|...*((PI|
|00000f50| 58 54 59 50 45 2a 29 20 | 62 61 73 65 50 74 72 29 |XTYPE*) |basePtr)|
|00000f60| 20 3d 20 69 6e 43 6f 6c | 6f 72 3b 0d 09 09 09 62 | = inCol|or;....b|
|00000f70| 61 73 65 50 74 72 20 2b | 3d 20 72 6f 77 4f 66 66 |asePtr +|= rowOff|
|00000f80| 73 65 74 3b 0d 0d 09 09 | 09 2f 2f 20 43 68 65 63 |set;....|.// Chec|
|00000f90| 6b 20 74 6f 20 73 65 65 | 20 69 66 20 77 65 20 6e |k to see| if we n|
|00000fa0| 65 65 64 20 74 6f 20 6d | 6f 76 65 20 74 68 65 20 |eed to m|ove the |
|00000fb0| 70 69 78 65 6c 4f 66 66 | 73 65 74 20 69 6e 20 74 |pixelOff|set in t|
|00000fc0| 68 65 20 79 20 64 69 72 | 65 63 74 69 6f 6e 2e 0d |he y dir|ection..|
|00000fd0| 09 09 09 65 72 72 6f 72 | 5f 74 65 72 6d 20 2b 3d |...error|_term +=|
|00000fe0| 20 64 78 3b 0d 09 09 09 | 69 66 20 28 20 65 72 72 | dx;....|if ( err|
|00000ff0| 6f 72 5f 74 65 72 6d 20 | 3e 3d 20 64 79 20 29 20 |or_term |>= dy ) |
|00001000| 7b 0d 09 09 09 09 65 72 | 72 6f 72 5f 74 65 72 6d |{.....er|ror_term|
|00001010| 20 2d 3d 20 64 79 3b 0d | 09 09 09 09 62 61 73 65 | -= dy;.|....base|
|00001020| 50 74 72 20 2b 3d 20 78 | 44 69 72 65 63 74 69 6f |Ptr += x|Directio|
|00001030| 6e 3b 0d 09 09 09 09 78 | 6d 6f 76 2d 2d 3b 0d 09 |n;.....x|mov--;..|
|00001040| 09 09 7d 0d 09 09 7d 0d | 09 7d 0d 7d 0d 0d 2a 2f |..}...}.|.}.}..*/|
|00001050| 0d 0d 0d 0d 2f 2a 0d 76 | 6f 69 64 20 50 69 78 50 |..../*.v|oid PixP|
|00001060| 6f 72 74 3a 3a 5f 4c 69 | 6e 65 57 28 20 69 6e 74 |ort::_Li|neW( int|
|00001070| 20 73 78 2c 20 69 6e 74 | 20 73 79 2c 20 69 6e 74 | sx, int| sy, int|
|00001080| 20 65 78 2c 20 69 6e 74 | 20 65 79 2c 20 69 6e 74 | ex, int| ey, int|
|00001090| 20 69 6e 57 69 64 74 68 | 2c 20 6c 6f 6e 67 20 69 | inWidth|, long i|
|000010a0| 6e 43 6f 6c 6f 72 20 29 | 20 7b 0d 09 69 6e 74 20 |nColor )| {..int |
|000010b0| 78 44 69 72 65 63 74 69 | 6f 6e 2c 20 72 6f 77 4f |xDirecti|on, rowO|
|000010c0| 66 66 73 65 74 2c 20 65 | 72 72 6f 72 5f 74 65 72 |ffset, e|rror_ter|
|000010d0| 6d 3b 0d 09 63 68 61 72 | 2a 20 62 61 73 65 50 74 |m;..char|* basePt|
|000010e0| 72 2c 20 2a 72 6f 77 50 | 74 72 3b 0d 09 69 6e 74 |r, *rowP|tr;..int|
|000010f0| 20 78 6d 6f 76 2c 20 79 | 6d 6f 76 2c 20 64 78 2c | xmov, y|mov, dx,|
|00001100| 20 64 79 2c 20 74 2c 20 | 69 2c 20 78 44 69 72 2c | dy, t, |i, xDir,|
|00001110| 20 79 44 69 72 3b 0d 09 | 0d 09 2f 2f 20 43 6c 69 | yDir;..|..// Cli|
|00001120| 70 70 69 6e 67 3a 20 53 | 65 74 20 74 68 65 20 70 |pping: S|et the p|
|00001130| 65 6e 20 6c 6f 63 20 74 | 6f 20 61 20 70 6f 69 6e |en loc t|o a poin|
|00001140| 74 20 74 68 61 74 27 73 | 20 69 6e 20 61 6e 64 20 |t that's| in and |
|00001150| 73 74 6f 70 20 64 72 61 | 77 69 6e 67 20 6f 6e 63 |stop dra|wing onc|
|00001160| 65 2f 69 66 20 74 68 65 | 20 70 65 6e 20 6d 6f 76 |e/if the| pen mov|
|00001170| 65 73 20 6f 75 74 0d 09 | 69 66 20 28 20 73 78 20 |es out..|if ( sx |
|00001180| 3c 20 30 20 7c 7c 20 73 | 78 20 3e 20 6d 58 20 7c |< 0 || s|x > mX ||
|00001190| 7c 20 73 79 20 3c 20 30 | 20 7c 7c 20 73 79 20 3e || sy < 0| || sy >|
|000011a0| 20 6d 59 20 29 20 7b 0d | 09 09 74 20 3d 20 65 78 | mY ) {.|..t = ex|
|000011b0| 3b 20 65 78 20 3d 20 73 | 78 3b 20 73 78 20 3d 20 |; ex = s|x; sx = |
|000011c0| 74 3b 0d 09 09 74 20 3d | 20 65 79 3b 20 65 79 20 |t;...t =| ey; ey |
|000011d0| 3d 20 73 79 3b 20 73 79 | 20 3d 20 74 3b 0d 09 7d |= sy; sy| = t;..}|
|000011e0| 0d 09 0d 09 2f 2f 20 45 | 78 69 74 20 69 66 20 74 |....// E|xit if t|
|000011f0| 68 65 20 73 74 61 72 74 | 20 70 74 20 69 73 20 6f |he start| pt is o|
|00001200| 75 74 20 6f 66 20 62 6f | 75 6e 64 73 20 28 77 69 |ut of bo|unds (wi|
|00001210| 6d 70 79 20 63 6c 69 70 | 70 69 6e 67 2c 20 65 68 |mpy clip|ping, eh|
|00001220| 3f 29 0d 09 69 66 20 28 | 20 73 78 20 3c 20 30 20 |?)..if (| sx < 0 |
|00001230| 7c 7c 20 73 78 20 3e 20 | 6d 58 20 7c 7c 20 73 79 ||| sx > |mX || sy|
|00001240| 20 3c 20 30 20 7c 7c 20 | 73 79 20 3e 20 6d 59 20 | < 0 || |sy > mY |
|00001250| 29 0d 09 09 72 65 74 75 | 72 6e 3b 0d 0d 09 2f 2f |)...retu|rn;...//|
|00001260| 20 49 6e 20 57 69 6e 33 | 32 2c 20 65 76 65 72 79 | In Win3|2, every|
|00001270| 74 68 69 6e 67 27 73 20 | 75 70 73 69 64 65 20 64 |thing's |upside d|
|00001280| 6f 77 6e 0d 09 23 69 66 | 20 45 47 5f 57 49 4e 0d |own..#if| EG_WIN.|
|00001290| 09 73 79 20 3d 20 6d 59 | 20 2d 20 73 79 3b 0d 09 |.sy = mY| - sy;..|
|000012a0| 65 79 20 3d 20 6d 59 20 | 2d 20 65 79 3b 0d 09 23 |ey = mY |- ey;..#|
|000012b0| 65 6e 64 69 66 09 0d 09 | 0d 09 64 78 20 3d 20 65 |endif...|..dx = e|
|000012c0| 78 20 2d 20 73 78 3b 0d | 09 64 79 20 3d 20 65 79 |x - sx;.|.dy = ey|
|000012d0| 20 2d 20 73 79 3b 0d 09 | 09 0d 09 2f 2f 20 6d 6f | - sy;..|...// mo|
|000012e0| 76 69 6e 67 20 6c 65 66 | 74 20 6f 72 20 72 69 67 |ving lef|t or rig|
|000012f0| 68 74 3f 0d 09 78 6d 6f | 76 20 3d 20 64 78 3b 0d |ht?..xmo|v = dx;.|
|00001300| 09 69 66 20 28 20 64 78 | 20 3c 20 30 20 29 20 7b |.if ( dx| < 0 ) {|
|00001310| 0d 09 09 78 6d 6f 76 20 | 3d 20 2d 64 78 3b 0d 09 |...xmov |= -dx;..|
|00001320| 09 69 66 20 28 20 73 78 | 20 2d 20 78 6d 6f 76 20 |.if ( sx| - xmov |
|00001330| 3c 20 30 20 29 0d 09 09 | 09 78 6d 6f 76 20 3d 20 |< 0 )...|.xmov = |
|00001340| 73 78 3b 0d 09 09 78 44 | 69 72 65 63 74 69 6f 6e |sx;...xD|irection|
|00001350| 20 3d 20 2d 20 50 5f 53 | 5a 3b 0d 09 09 78 44 69 | = - P_S|Z;...xDi|
|00001360| 72 20 3d 20 2d 31 3b 0d | 09 09 64 78 20 3d 20 2d |r = -1;.|..dx = -|
|00001370| 64 78 3b 20 7d 0d 09 65 | 6c 73 65 20 69 66 20 28 |dx; }..e|lse if (|
|00001380| 20 64 78 20 3e 20 30 20 | 29 20 7b 0d 09 09 69 66 | dx > 0 |) {...if|
|00001390| 20 28 20 73 78 20 2b 20 | 78 6d 6f 76 20 3e 20 6d | ( sx + |xmov > m|
|000013a0| 58 20 29 0d 09 09 09 78 | 6d 6f 76 20 3d 20 6d 58 |X )....x|mov = mX|
|000013b0| 20 2d 20 73 78 3b 0d 09 | 09 78 44 69 72 20 3d 20 | - sx;..|.xDir = |
|000013c0| 31 3b 0d 09 09 78 44 69 | 72 65 63 74 69 6f 6e 20 |1;...xDi|rection |
|000013d0| 3d 20 50 5f 53 5a 3b 20 | 20 7d 0d 09 65 6c 73 65 |= P_SZ; | }..else|
|000013e0| 20 7b 0d 09 09 78 44 69 | 72 65 63 74 69 6f 6e 20 | {...xDi|rection |
|000013f0| 3d 20 30 3b 0d 09 09 78 | 44 69 72 20 3d 20 30 3b |= 0;...x|Dir = 0;|
|00001400| 0d 09 7d 0d 0d 09 2f 2f | 20 6d 6f 76 69 6e 67 20 |..}...//| moving |
|00001410| 75 70 20 6f 72 20 64 6f | 77 6e 3f 0d 09 79 6d 6f |up or do|wn?..ymo|
|00001420| 76 20 3d 20 64 79 3b 0d | 09 69 66 20 28 20 64 79 |v = dy;.|.if ( dy|
|00001430| 20 3c 20 30 20 29 20 7b | 0d 09 09 79 6d 6f 76 20 | < 0 ) {|...ymov |
|00001440| 3d 20 2d 64 79 3b 0d 09 | 09 69 66 20 28 20 73 79 |= -dy;..|.if ( sy|
|00001450| 20 2d 20 79 6d 6f 76 20 | 3c 20 30 20 29 0d 09 09 | - ymov |< 0 )...|
|00001460| 09 79 6d 6f 76 20 3d 20 | 73 79 3b 0d 09 09 79 44 |.ymov = |sy;...yD|
|00001470| 69 72 20 3d 20 31 3b 0d | 09 09 72 6f 77 4f 66 66 |ir = 1;.|..rowOff|
|00001480| 73 65 74 20 3d 20 2d 20 | 6d 42 79 74 65 73 50 65 |set = - |mBytesPe|
|00001490| 72 52 6f 77 3b 0d 09 09 | 64 79 20 3d 20 2d 64 79 |rRow;...|dy = -dy|
|000014a0| 3b 20 7d 0d 09 65 6c 73 | 65 20 69 66 20 28 20 64 |; }..els|e if ( d|
|000014b0| 79 20 3e 20 30 20 29 20 | 7b 0d 09 09 69 66 20 28 |y > 0 ) |{...if (|
|000014c0| 20 73 79 20 2b 20 79 6d | 6f 76 20 3e 20 6d 59 20 | sy + ym|ov > mY |
|000014d0| 29 0d 09 09 09 79 6d 6f | 76 20 3d 20 6d 59 20 2d |)....ymo|v = mY -|
|000014e0| 20 73 79 3b 0d 09 09 79 | 44 69 72 20 3d 20 2d 31 | sy;...y|Dir = -1|
|000014f0| 3b 0d 09 09 72 6f 77 4f | 66 66 73 65 74 20 3d 20 |;...rowO|ffset = |
|00001500| 6d 42 79 74 65 73 50 65 | 72 52 6f 77 3b 20 20 7d |mBytesPe|rRow; }|
|00001510| 20 0d 09 65 6c 73 65 20 | 7b 0d 09 09 79 44 69 72 | ..else |{...yDir|
|00001520| 20 3d 20 30 3b 0d 09 09 | 72 6f 77 4f 66 66 73 65 | = 0;...|rowOffse|
|00001530| 74 20 3d 20 30 3b 0d 09 | 7d 0d 0d 09 0d 09 62 61 |t = 0;..|}.....ba|
|00001540| 73 65 50 74 72 20 3d 20 | 6d 42 69 74 73 20 2b 20 |sePtr = |mBits + |
|00001550| 73 79 20 2a 20 6d 42 79 | 74 65 73 50 65 72 52 6f |sy * mBy|tesPerRo|
|00001560| 77 20 2b 20 73 78 20 2a | 20 50 5f 53 5a 3b 0d 09 |w + sx *| P_SZ;..|
|00001570| 65 72 72 6f 72 5f 74 65 | 72 6d 20 3d 20 30 3b 0d |error_te|rm = 0;.|
|00001580| 0d 09 2f 2f 20 44 72 61 | 77 20 74 68 65 20 6c 69 |..// Dra|w the li|
|00001590| 6e 65 0d 09 69 66 20 28 | 20 64 78 20 3e 3d 20 64 |ne..if (| dx >= d|
|000015a0| 79 20 29 20 7b 0d 09 09 | 62 6f 6f 6c 20 64 69 64 |y ) {...|bool did|
|000015b0| 52 6f 77 20 3d 20 66 61 | 6c 73 65 3b 0d 09 09 69 |Row = fa|lse;...i|
|000015c0| 6e 74 20 6c 69 6d 78 3b | 0d 09 09 69 66 20 28 20 |nt limx;|...if ( |
|000015d0| 78 44 69 72 65 63 74 69 | 6f 6e 20 3e 20 30 20 29 |xDirecti|on > 0 )|
|000015e0| 0d 09 09 09 6c 69 6d 78 | 20 3d 20 65 78 3b 0d 09 |....limx| = ex;..|
|000015f0| 09 65 6c 73 65 20 0d 09 | 09 09 6c 69 6d 78 20 3d |.else ..|..limx =|
|00001600| 20 73 78 3b 0d 09 09 69 | 66 20 28 20 6c 69 6d 78 | sx;...i|f ( limx|
|00001610| 20 3e 20 6d 58 20 29 0d | 09 09 09 6c 69 6d 78 20 | > mX ).|...limx |
|00001620| 3d 20 6d 58 3b 0d 09 09 | 0d 0d 09 09 2f 2f 20 53 |= mX;...|....// S|
|00001630| 74 61 72 74 20 63 6f 75 | 6e 74 69 6e 67 20 6f 66 |tart cou|nting of|
|00001640| 66 20 69 6e 20 78 0d 09 | 09 66 6f 72 20 28 20 3b |f in x..|.for ( ;|
|00001650| 20 78 6d 6f 76 20 3e 3d | 20 30 20 26 26 20 79 6d | xmov >=| 0 && ym|
|00001660| 6f 76 20 3e 3d 20 30 3b | 20 78 6d 6f 76 2d 2d 20 |ov >= 0;| xmov-- |
|00001670| 29 20 7b 0d 09 0d 09 09 | 09 69 66 20 28 20 21 20 |) {.....|.if ( ! |
|00001680| 64 69 64 52 6f 77 20 29 | 20 7b 0d 09 09 09 09 66 |didRow )| {.....f|
|00001690| 6f 72 20 28 20 69 20 3d | 20 30 3b 20 69 20 3c 20 |or ( i =| 0; i < |
|000016a0| 69 6e 57 69 64 74 68 20 | 26 26 20 73 78 20 2b 20 |inWidth |&& sx + |
|000016b0| 69 20 3c 3d 20 6c 69 6d | 78 3b 20 69 2b 2b 20 29 |i <= lim|x; i++ )|
|000016c0| 20 7b 0d 09 09 09 09 09 | 28 28 50 49 58 54 59 50 | {......|((PIXTYP|
|000016d0| 45 2a 29 20 62 61 73 65 | 50 74 72 29 5b 69 5d 20 |E*) base|Ptr)[i] |
|000016e0| 3d 20 69 6e 43 6f 6c 6f | 72 3b 0d 09 09 09 09 7d |= inColo|r;.....}|
|000016f0| 0d 09 09 09 09 64 69 64 | 52 6f 77 20 3d 20 74 72 |.....did|Row = tr|
|00001700| 75 65 3b 0d 09 09 09 7d | 0d 09 09 09 73 78 20 2b |ue;....}|....sx +|
|00001710| 3d 20 78 44 69 72 3b 0d | 09 0d 09 09 09 62 61 73 |= xDir;.|.....bas|
|00001720| 65 50 74 72 20 2b 3d 20 | 78 44 69 72 65 63 74 69 |ePtr += |xDirecti|
|00001730| 6f 6e 3b 0d 0d 09 09 09 | 2f 2f 20 43 68 65 63 6b |on;.....|// Check|
|00001740| 20 74 6f 20 73 65 65 20 | 69 66 20 77 65 20 6e 65 | to see |if we ne|
|00001750| 65 64 20 74 6f 20 6d 6f | 76 65 20 74 68 65 20 70 |ed to mo|ve the p|
|00001760| 69 78 65 6c 4f 66 66 73 | 65 74 20 69 6e 20 74 68 |ixelOffs|et in th|
|00001770| 65 20 79 20 64 69 72 65 | 63 74 69 6f 6e 2e 0d 09 |e y dire|ction...|
|00001780| 09 09 65 72 72 6f 72 5f | 74 65 72 6d 20 2b 3d 20 |..error_|term += |
|00001790| 64 79 3b 0d 09 09 09 69 | 66 20 28 20 65 72 72 6f |dy;....i|f ( erro|
|000017a0| 72 5f 74 65 72 6d 20 3e | 3d 20 64 78 20 29 20 7b |r_term >|= dx ) {|
|000017b0| 0d 09 09 09 09 65 72 72 | 6f 72 5f 74 65 72 6d 20 |.....err|or_term |
|000017c0| 2d 3d 20 64 78 3b 0d 09 | 09 09 09 0d 09 09 09 09 |-= dx;..|........|
|000017d0| 2f 2f 20 46 69 6e 69 73 | 68 20 74 68 65 20 72 65 |// Finis|h the re|
|000017e0| 73 74 20 6f 66 20 74 68 | 65 20 6c 69 6e 65 20 77 |st of th|e line w|
|000017f0| 69 64 74 68 2c 20 6d 61 | 6b 69 6e 67 20 73 75 72 |idth, ma|king sur|
|00001800| 65 20 77 65 20 64 6f 6e | 27 74 20 67 6f 20 6f 66 |e we don|'t go of|
|00001810| 66 20 74 68 65 20 72 69 | 67 68 74 0d 09 09 09 09 |f the ri|ght.....|
|00001820| 64 69 64 52 6f 77 20 3d | 20 66 61 6c 73 65 3b 0d |didRow =| false;.|
|00001830| 09 09 09 09 62 61 73 65 | 50 74 72 20 2b 3d 20 72 |....base|Ptr += r|
|00001840| 6f 77 4f 66 66 73 65 74 | 3b 0d 09 09 09 09 79 6d |owOffset|;.....ym|
|00001850| 6f 76 2d 2d 3b 0d 09 09 | 09 7d 0d 09 09 7d 20 7d |ov--;...|.}...} }|
|00001860| 0d 09 65 6c 73 65 20 7b | 09 09 0d 09 09 0d 09 09 |..else {|........|
|00001870| 2f 2f 20 53 74 61 72 74 | 20 63 6f 75 6e 74 69 6e |// Start| countin|
|00001880| 67 20 6f 66 66 20 69 6e | 20 79 0d 09 09 66 6f 72 |g off in| y...for|
|00001890| 20 28 20 3b 20 79 6d 6f | 76 20 3e 3d 20 30 20 26 | ( ; ymo|v >= 0 &|
|000018a0| 26 20 78 6d 6f 76 20 3e | 3d 20 30 3b 20 79 6d 6f |& xmov >|= 0; ymo|
|000018b0| 76 2d 2d 20 29 20 7b 0d | 09 09 0d 09 09 09 2f 2f |v-- ) {.|......//|
|000018c0| 20 44 6f 20 74 68 65 20 | 77 68 6f 6c 65 20 6c 69 | Do the |whole li|
|000018d0| 6e 65 20 77 69 64 74 68 | 2c 20 6d 61 6b 69 6e 67 |ne width|, making|
|000018e0| 20 73 75 72 65 20 77 65 | 20 64 6f 6e 27 74 20 67 | sure we| don't g|
|000018f0| 6f 20 6f 66 66 20 74 68 | 65 20 72 69 67 68 74 0d |o off th|e right.|
|00001900| 09 09 09 66 6f 72 20 28 | 20 69 20 3d 20 30 3b 20 |...for (| i = 0; |
|00001910| 69 20 3c 20 69 6e 57 69 | 64 74 68 20 26 26 20 73 |i < inWi|dth && s|
|00001920| 78 20 2b 20 69 20 3c 20 | 6d 58 3b 20 69 2b 2b 20 |x + i < |mX; i++ |
|00001930| 29 0d 09 09 09 09 28 28 | 50 49 58 54 59 50 45 2a |).....((|PIXTYPE*|
|00001940| 29 20 62 61 73 65 50 74 | 72 29 5b 69 5d 20 3d 20 |) basePt|r)[i] = |
|00001950| 69 6e 43 6f 6c 6f 72 3b | 0d 09 09 09 62 61 73 65 |inColor;|....base|
|00001960| 50 74 72 20 2b 3d 20 72 | 6f 77 4f 66 66 73 65 74 |Ptr += r|owOffset|
|00001970| 3b 0d 0d 09 09 09 2f 2f | 20 43 68 65 63 6b 20 74 |;.....//| Check t|
|00001980| 6f 20 73 65 65 20 69 66 | 20 77 65 20 6e 65 65 64 |o see if| we need|
|00001990| 20 74 6f 20 6d 6f 76 65 | 20 74 68 65 20 70 69 78 | to move| the pix|
|000019a0| 65 6c 4f 66 66 73 65 74 | 20 69 6e 20 74 68 65 20 |elOffset| in the |
|000019b0| 79 20 64 69 72 65 63 74 | 69 6f 6e 2e 0d 09 09 09 |y direct|ion.....|
|000019c0| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2b 3d 20 64 78 |error_te|rm += dx|
|000019d0| 3b 0d 09 09 09 69 66 20 | 28 20 65 72 72 6f 72 5f |;....if |( error_|
|000019e0| 74 65 72 6d 20 3e 3d 20 | 64 79 20 29 20 7b 0d 09 |term >= |dy ) {..|
|000019f0| 09 09 09 65 72 72 6f 72 | 5f 74 65 72 6d 20 2d 3d |...error|_term -=|
|00001a00| 20 64 79 3b 0d 09 09 09 | 09 62 61 73 65 50 74 72 | dy;....|.basePtr|
|00001a10| 20 2b 3d 20 78 44 69 72 | 65 63 74 69 6f 6e 3b 0d | += xDir|ection;.|
|00001a20| 09 09 09 09 78 6d 6f 76 | 2d 2d 3b 0d 09 09 09 09 |....xmov|--;.....|
|00001a30| 73 78 20 2b 3d 20 78 44 | 69 72 3b 0d 09 09 09 7d |sx += xD|ir;....}|
|00001a40| 0d 09 09 7d 0d 09 7d 0d | 7d 2a 2f 0d 0d 0d 0d 76 |...}..}.|}*/....v|
|00001a50| 6f 69 64 20 50 69 78 50 | 6f 72 74 3a 3a 5f 45 72 |oid PixP|ort::_Er|
|00001a60| 61 73 65 52 65 63 74 28 | 20 63 6f 6e 73 74 20 52 |aseRect(| const R|
|00001a70| 65 63 74 2a 20 69 6e 52 | 65 63 74 20 29 20 7b 0d |ect* inR|ect ) {.|
|00001a80| 09 6c 6f 6e 67 20 77 69 | 64 74 68 2c 20 68 65 69 |.long wi|dth, hei|
|00001a90| 67 68 74 3b 0d 09 69 6e | 74 20 78 2c 20 79 3b 0d |ght;..in|t x, y;.|
|00001aa0| 09 63 68 61 72 2a 09 62 | 61 73 65 3b 0d 09 52 65 |.char*.b|ase;..Re|
|00001ab0| 63 74 09 72 3b 0d 0d 09 | 2f 2f 20 44 6f 6e 27 74 |ct.r;...|// Don't|
|00001ac0| 20 6c 65 74 20 75 73 20 | 64 72 61 77 20 69 6e 20 | let us |draw in |
|00001ad0| 72 61 6e 64 6f 6d 20 70 | 61 72 74 73 20 6f 66 20 |random p|arts of |
|00001ae0| 6d 65 6d 6f 72 79 20 2d | 2d 20 63 6c 69 70 20 69 |memory -|- clip i|
|00001af0| 6e 52 65 63 74 0d 09 69 | 66 20 28 20 69 6e 52 65 |nRect..i|f ( inRe|
|00001b00| 63 74 20 29 20 7b 0d 09 | 09 72 20 3d 20 2a 69 6e |ct ) {..|.r = *in|
|00001b10| 52 65 63 74 3b 0d 09 09 | 5f 5f 63 6c 69 70 50 74 |Rect;...|__clipPt|
|00001b20| 28 20 72 2e 6c 65 66 74 | 2c 20 72 2e 74 6f 70 20 |( r.left|, r.top |
|00001b30| 29 0d 09 09 5f 5f 63 6c | 69 70 50 74 28 20 72 2e |)...__cl|ipPt( r.|
|00001b40| 72 69 67 68 74 2c 20 72 | 2e 62 6f 74 74 6f 6d 20 |right, r|.bottom |
|00001b50| 29 20 7d 0d 09 65 6c 73 | 65 20 7b 0d 09 09 72 2e |) }..els|e {...r.|
|00001b60| 74 6f 70 20 3d 20 72 2e | 6c 65 66 74 20 3d 20 30 |top = r.|left = 0|
|00001b70| 3b 0d 09 09 72 2e 72 69 | 67 68 74 20 3d 20 6d 58 |;...r.ri|ght = mX|
|00001b80| 3b 0d 09 09 72 2e 62 6f | 74 74 6f 6d 20 3d 20 6d |;...r.bo|ttom = m|
|00001b90| 59 3b 0d 09 7d 0d 09 77 | 69 64 74 68 20 09 3d 20 |Y;..}..w|idth .= |
|00001ba0| 72 2e 72 69 67 68 74 20 | 2d 20 72 2e 6c 65 66 74 |r.right |- r.left|
|00001bb0| 3b 0d 09 68 65 69 67 68 | 74 09 3d 20 72 2e 62 6f |;..heigh|t.= r.bo|
|00001bc0| 74 74 6f 6d 20 2d 20 72 | 2e 74 6f 70 3b 0d 0d 09 |ttom - r|.top;...|
|00001bd0| 0d 09 2f 2f 20 49 6e 20 | 57 69 6e 33 32 2c 20 65 |..// In |Win32, e|
|00001be0| 76 65 72 79 74 68 69 6e | 67 27 73 20 75 70 73 69 |verythin|g's upsi|
|00001bf0| 64 65 20 64 6f 77 6e 0d | 09 23 69 66 20 45 47 5f |de down.|.#if EG_|
|00001c00| 57 49 4e 0d 09 72 2e 74 | 6f 70 20 3d 20 6d 59 20 |WIN..r.t|op = mY |
|00001c10| 2d 20 72 2e 62 6f 74 74 | 6f 6d 3b 0d 09 23 65 6e |- r.bott|om;..#en|
|00001c20| 64 69 66 0d 09 0d 09 62 | 61 73 65 20 3d 20 6d 42 |dif....b|ase = mB|
|00001c30| 69 74 73 20 2b 20 6d 42 | 79 74 65 73 50 65 72 50 |its + mB|ytesPerP|
|00001c40| 69 78 20 2a 20 72 2e 6c | 65 66 74 20 2b 20 72 2e |ix * r.l|eft + r.|
|00001c50| 74 6f 70 20 2a 20 6d 42 | 79 74 65 73 50 65 72 52 |top * mB|ytesPerR|
|00001c60| 6f 77 3b 0d 09 66 6f 72 | 20 28 20 79 20 3d 20 30 |ow;..for| ( y = 0|
|00001c70| 3b 20 79 20 3c 3d 20 68 | 65 69 67 68 74 3b 20 79 |; y <= h|eight; y|
|00001c80| 2b 2b 20 29 20 7b 0d 09 | 09 66 6f 72 20 28 20 78 |++ ) {..|.for ( x|
|00001c90| 20 3d 20 30 3b 20 78 20 | 3c 3d 20 77 69 64 74 68 | = 0; x |<= width|
|00001ca0| 3b 20 78 2b 2b 20 29 20 | 7b 0d 09 09 09 2a 28 28 |; x++ ) |{....*((|
|00001cb0| 50 49 58 54 59 50 45 2a | 29 20 62 61 73 65 29 20 |PIXTYPE*|) base) |
|00001cc0| 3d 20 6d 42 61 63 6b 43 | 6f 6c 6f 72 3b 0d 09 09 |= mBackC|olor;...|
|00001cd0| 09 62 61 73 65 20 2b 3d | 20 50 5f 53 5a 3b 0d 09 |.base +=| P_SZ;..|
|00001ce0| 09 7d 0d 09 09 62 61 73 | 65 20 2b 3d 20 6d 42 79 |.}...bas|e += mBy|
|00001cf0| 74 65 73 50 65 72 52 6f | 77 20 2d 20 50 5f 53 5a |tesPerRo|w - P_SZ|
|00001d00| 20 2a 20 28 77 69 64 74 | 68 20 2b 20 31 29 3b 0d | * (widt|h + 1);.|
|00001d10| 09 7d 0d 7d 0d 0d 0d 0d | 76 6f 69 64 20 50 69 78 |.}.}....|void Pix|
|00001d20| 50 6f 72 74 3a 3a 5f 43 | 72 6f 73 73 42 6c 75 72 |Port::_C|rossBlur|
|00001d30| 28 20 63 68 61 72 2a 20 | 69 6e 53 72 63 65 2c 20 |( char* |inSrce, |
|00001d40| 69 6e 74 20 69 6e 57 69 | 64 74 68 2c 20 69 6e 74 |int inWi|dth, int|
|00001d50| 20 69 6e 48 65 69 67 68 | 74 2c 20 69 6e 74 20 69 | inHeigh|t, int i|
|00001d60| 6e 42 79 74 65 73 50 65 | 72 52 6f 77 2c 20 75 6e |nBytesPe|rRow, un|
|00001d70| 73 69 67 6e 65 64 20 63 | 68 61 72 2a 20 69 6e 52 |signed c|har* inR|
|00001d80| 6f 77 42 75 66 20 29 20 | 7b 0d 09 6c 6f 6e 67 20 |owBuf ) |{..long |
|00001d90| 6c 65 66 74 52 2c 20 6c | 65 66 74 47 2c 20 6c 65 |leftR, l|eftG, le|
|00001da0| 66 74 42 2c 20 63 65 6e | 52 2c 20 63 65 6e 47 2c |ftB, cen|R, cenG,|
|00001db0| 20 63 65 6e 42 2c 20 72 | 69 67 68 74 52 2c 20 72 | cenB, r|ightR, r|
|00001dc0| 69 67 68 74 47 2c 20 72 | 69 67 68 74 42 3b 0d 09 |ightG, r|ightB;..|
|00001dd0| 6c 6f 6e 67 20 74 6f 70 | 52 2c 20 74 6f 70 47 2c |long top|R, topG,|
|00001de0| 20 74 6f 70 42 2c 20 76 | 61 6c 2c 20 62 6f 74 52 | topB, v|al, botR|
|00001df0| 2c 20 62 6f 74 47 2c 20 | 62 6f 74 42 2c 20 78 3b |, botG, |botB, x;|
|00001e00| 0d 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 |..unsign|ed char |
|00001e10| 2a 72 6f 77 50 6f 73 3b | 0d 09 0d 09 2f 2f 20 49 |*rowPos;|....// I|
|00001e20| 6e 69 74 20 69 6e 52 6f | 77 42 75 66 5b 5d 0d 09 |nit inRo|wBuf[]..|
|00001e30| 72 6f 77 50 6f 73 20 3d | 20 69 6e 52 6f 77 42 75 |rowPos =| inRowBu|
|00001e40| 66 3b 0d 09 66 6f 72 20 | 28 20 78 20 3d 20 30 3b |f;..for |( x = 0;|
|00001e50| 20 78 20 3c 20 69 6e 57 | 69 64 74 68 3b 20 78 2b | x < inW|idth; x+|
|00001e60| 2b 20 29 20 7b 0d 09 09 | 76 61 6c 20 3d 20 28 28 |+ ) {...|val = ((|
|00001e70| 50 49 58 54 59 50 45 2a | 29 20 69 6e 53 72 63 65 |PIXTYPE*|) inSrce|
|00001e80| 29 5b 20 78 20 5d 3b 0d | 09 09 72 6f 77 50 6f 73 |)[ x ];.|..rowPos|
|00001e90| 5b 20 30 20 5d 20 20 3d | 20 76 61 6c 20 3e 3e 20 |[ 0 ] =| val >> |
|00001ea0| 52 45 44 53 48 49 46 54 | 3b 20 0d 09 09 72 6f 77 |REDSHIFT|; ...row|
|00001eb0| 50 6f 73 5b 20 31 20 5d | 20 3d 20 28 76 61 6c 20 |Pos[ 1 ]| = (val |
|00001ec0| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C|
|00001ed0| 4f 4c 4d 41 53 4b 3b 0d | 09 09 72 6f 77 50 6f 73 |OLMASK;.|..rowPos|
|00001ee0| 5b 20 32 20 5d 20 3d 20 | 76 61 6c 20 26 20 43 4f |[ 2 ] = |val & CO|
|00001ef0| 4c 4d 41 53 4b 3b 0d 09 | 09 72 6f 77 50 6f 73 20 |LMASK;..|.rowPos |
|00001f00| 2b 3d 20 33 3b 0d 09 7d | 0d 09 0d 09 2f 2f 20 47 |+= 3;..}|....// G|
|00001f10| 6f 20 74 68 72 75 20 72 | 6f 77 20 62 79 20 72 6f |o thru r|ow by ro|
|00001f20| 77 20 69 6e 20 74 68 65 | 20 73 6f 75 72 63 65 20 |w in the| source |
|00001f30| 69 6d 67 0d 09 66 6f 72 | 20 28 20 3b 20 69 6e 48 |img..for| ( ; inH|
|00001f40| 65 69 67 68 74 20 3e 20 | 30 3b 20 69 6e 48 65 69 |eight > |0; inHei|
|00001f50| 67 68 74 2d 2d 20 29 20 | 7b 0d 09 0d 09 09 2f 2f |ght-- ) |{.....//|
|00001f60| 20 50 72 69 6d 65 20 74 | 68 65 20 78 2d 6c 6f 6f | Prime t|he x-loo|
|00001f70| 70 20 61 6e 64 20 67 65 | 74 20 6c 65 66 74 20 61 |p and ge|t left a|
|00001f80| 6e 64 20 63 65 6e 20 70 | 69 78 65 6c 73 0d 09 09 |nd cen p|ixels...|
|00001f90| 76 61 6c 20 3d 20 2a 28 | 28 50 49 58 54 59 50 45 |val = *(|(PIXTYPE|
|00001fa0| 2a 29 20 69 6e 53 72 63 | 65 20 29 3b 0d 09 09 6c |*) inSrc|e );...l|
|00001fb0| 65 66 74 52 20 3d 20 63 | 65 6e 52 20 3d 20 76 61 |eftR = c|enR = va|
|00001fc0| 6c 20 3e 3e 20 52 45 44 | 53 48 49 46 54 3b 20 0d |l >> RED|SHIFT; .|
|00001fd0| 09 09 6c 65 66 74 47 20 | 3d 20 63 65 6e 47 20 3d |..leftG |= cenG =|
|00001fe0| 20 28 76 61 6c 20 3e 3e | 20 47 52 4e 53 48 49 46 | (val >>| GRNSHIF|
|00001ff0| 54 29 20 26 20 43 4f 4c | 4d 41 53 4b 3b 0d 09 09 |T) & COL|MASK;...|
|00002000| 6c 65 66 74 42 20 3d 20 | 63 65 6e 42 20 3d 20 76 |leftB = |cenB = v|
|00002010| 61 6c 20 26 20 43 4f 4c | 4d 41 53 4b 3b 0d 09 09 |al & COL|MASK;...|
|00002020| 0d 09 09 72 6f 77 50 6f | 73 20 3d 20 69 6e 52 6f |...rowPo|s = inRo|
|00002030| 77 42 75 66 3b 0d 09 09 | 09 09 0d 09 09 66 6f 72 |wBuf;...|.....for|
|00002040| 20 28 20 78 20 3d 20 30 | 3b 20 78 20 3c 20 69 6e | ( x = 0|; x < in|
|00002050| 57 69 64 74 68 3b 20 78 | 2b 2b 20 29 20 7b 0d 09 |Width; x|++ ) {..|
|00002060| 09 0d 09 09 09 2f 2f 20 | 47 65 74 20 74 6f 70 20 |.....// |Get top |
|00002070| 70 69 78 65 6c 0d 09 09 | 09 74 6f 70 52 20 3d 20 |pixel...|.topR = |
|00002080| 72 6f 77 50 6f 73 5b 20 | 30 20 5d 3b 0d 09 09 09 |rowPos[ |0 ];....|
|00002090| 74 6f 70 47 20 3d 20 72 | 6f 77 50 6f 73 5b 20 31 |topG = r|owPos[ 1|
|000020a0| 20 5d 3b 0d 09 09 09 74 | 6f 70 42 20 3d 20 72 6f | ];....t|opB = ro|
|000020b0| 77 50 6f 73 5b 20 32 20 | 5d 3b 0d 09 09 09 0d 09 |wPos[ 2 |];......|
|000020c0| 09 09 2f 2f 20 47 65 74 | 20 72 69 67 68 74 2d 6d |..// Get| right-m|
|000020d0| 6f 73 74 20 70 69 78 65 | 6c 0d 09 09 09 76 61 6c |ost pixe|l....val|
|000020e0| 20 3d 20 28 28 50 49 58 | 54 59 50 45 2a 29 20 69 | = ((PIX|TYPE*) i|
|000020f0| 6e 53 72 63 65 29 5b 20 | 78 20 2b 20 31 20 5d 3b |nSrce)[ |x + 1 ];|
|00002100| 0d 09 09 09 72 69 67 68 | 74 52 20 3d 20 76 61 6c |....righ|tR = val|
|00002110| 20 3e 3e 20 52 45 44 53 | 48 49 46 54 3b 20 0d 09 | >> REDS|HIFT; ..|
|00002120| 09 09 72 69 67 68 74 47 | 20 3d 20 28 76 61 6c 20 |..rightG| = (val |
|00002130| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C|
|00002140| 4f 4c 4d 41 53 4b 3b 0d | 09 09 09 72 69 67 68 74 |OLMASK;.|...right|
|00002150| 42 20 3d 20 76 61 6c 20 | 26 20 43 4f 4c 4d 41 53 |B = val |& COLMAS|
|00002160| 4b 3b 0d 0d 09 09 09 2f | 2f 20 47 65 74 20 62 6f |K;...../|/ Get bo|
|00002170| 74 74 6f 6d 20 70 69 78 | 65 6c 0d 09 09 09 76 61 |ttom pix|el....va|
|00002180| 6c 20 3d 20 28 28 50 49 | 58 54 59 50 45 2a 29 20 |l = ((PI|XTYPE*) |
|00002190| 28 69 6e 53 72 63 65 20 | 2b 20 69 6e 42 79 74 65 |(inSrce |+ inByte|
|000021a0| 73 50 65 72 52 6f 77 29 | 29 5b 20 78 20 5d 3b 0d |sPerRow)|)[ x ];.|
|000021b0| 09 09 09 62 6f 74 52 20 | 3d 20 76 61 6c 20 3e 3e |...botR |= val >>|
|000021c0| 20 52 45 44 53 48 49 46 | 54 3b 20 0d 09 09 09 62 | REDSHIF|T; ....b|
|000021d0| 6f 74 47 20 3d 20 28 76 | 61 6c 20 3e 3e 20 47 52 |otG = (v|al >> GR|
|000021e0| 4e 53 48 49 46 54 29 20 | 26 20 43 4f 4c 4d 41 53 |NSHIFT) |& COLMAS|
|000021f0| 4b 3b 0d 09 09 09 62 6f | 74 42 20 3d 20 76 61 6c |K;....bo|tB = val|
|00002200| 20 26 20 43 4f 4c 4d 41 | 53 4b 3b 0d 09 09 09 0d | & COLMA|SK;.....|
|00002210| 09 09 09 2a 72 6f 77 50 | 6f 73 20 3d 20 63 65 6e |...*rowP|os = cen|
|00002220| 52 3b 09 09 72 6f 77 50 | 6f 73 2b 2b 3b 0d 09 09 |R;..rowP|os++;...|
|00002230| 09 2a 72 6f 77 50 6f 73 | 20 3d 20 63 65 6e 47 3b |.*rowPos| = cenG;|
|00002240| 09 09 72 6f 77 50 6f 73 | 2b 2b 3b 0d 09 09 09 2a |..rowPos|++;....*|
|00002250| 72 6f 77 50 6f 73 20 3d | 20 63 65 6e 42 3b 09 09 |rowPos =| cenB;..|
|00002260| 72 6f 77 50 6f 73 2b 2b | 3b 0d 09 09 09 0d 09 09 |rowPos++|;.......|
|00002270| 09 62 6f 74 52 20 3d 20 | 28 20 28 20 63 65 6e 52 |.botR = |( ( cenR|
|00002280| 20 3c 3c 20 32 20 29 20 | 2b 20 33 20 2a 20 28 20 | << 2 ) |+ 3 * ( |
|00002290| 6c 65 66 74 52 20 2b 20 | 72 69 67 68 74 52 20 2b |leftR + |rightR +|
|000022a0| 20 74 6f 70 52 20 2b 20 | 62 6f 74 52 20 29 20 29 | topR + |botR ) )|
|000022b0| 20 3e 3e 20 34 3b 0d 09 | 09 09 62 6f 74 47 20 3d | >> 4;..|..botG =|
|000022c0| 20 28 20 28 20 63 65 6e | 47 20 3c 3c 20 32 20 29 | ( ( cen|G << 2 )|
|000022d0| 20 2b 20 33 20 2a 20 28 | 20 6c 65 66 74 47 20 2b | + 3 * (| leftG +|
|000022e0| 20 72 69 67 68 74 47 20 | 2b 20 74 6f 70 47 20 2b | rightG |+ topG +|
|000022f0| 20 62 6f 74 47 20 29 20 | 29 20 3e 3e 20 34 3b 0d | botG ) |) >> 4;.|
|00002300| 09 09 09 62 6f 74 42 20 | 3d 20 28 20 28 20 63 65 |...botB |= ( ( ce|
|00002310| 6e 42 20 3c 3c 20 32 20 | 29 20 2b 20 33 20 2a 20 |nB << 2 |) + 3 * |
|00002320| 28 20 6c 65 66 74 42 20 | 2b 20 72 69 67 68 74 42 |( leftB |+ rightB|
|00002330| 20 2b 20 74 6f 70 42 20 | 2b 20 62 6f 74 42 20 29 | + topB |+ botB )|
|00002340| 20 29 20 3e 3e 20 34 3b | 0d 09 09 09 28 28 50 49 | ) >> 4;|....((PI|
|00002350| 58 54 59 50 45 2a 29 20 | 69 6e 53 72 63 65 20 29 |XTYPE*) |inSrce )|
|00002360| 5b 20 78 20 5d 20 3d 20 | 28 20 62 6f 74 52 20 3c |[ x ] = |( botR <|
|00002370| 3c 20 52 45 44 53 48 49 | 46 54 20 29 20 7c 20 28 |< REDSHI|FT ) | (|
|00002380| 20 62 6f 74 47 20 3c 3c | 20 47 52 4e 53 48 49 46 | botG <<| GRNSHIF|
|00002390| 54 20 29 20 7c 20 62 6f | 74 42 3b 0d 09 09 09 0d |T ) | bo|tB;.....|
|000023a0| 09 09 09 2f 2f 20 52 65 | 2d 75 73 65 20 61 6c 72 |...// Re|-use alr|
|000023b0| 65 61 64 79 2d 66 65 74 | 63 68 65 64 20 6d 65 6d |eady-fet|ched mem|
|000023c0| 6f 72 79 0d 09 09 09 6c | 65 66 74 52 20 3d 20 63 |ory....l|eftR = c|
|000023d0| 65 6e 52 3b 09 63 65 6e | 52 20 3d 20 72 69 67 68 |enR;.cen|R = righ|
|000023e0| 74 52 3b 0d 09 09 09 6c | 65 66 74 47 20 3d 20 63 |tR;....l|eftG = c|
|000023f0| 65 6e 47 3b 09 63 65 6e | 47 20 3d 20 72 69 67 68 |enG;.cen|G = righ|
|00002400| 74 47 3b 0d 09 09 09 6c | 65 66 74 42 20 3d 20 63 |tG;....l|eftB = c|
|00002410| 65 6e 42 3b 09 63 65 6e | 42 20 3d 20 72 69 67 68 |enB;.cen|B = righ|
|00002420| 74 42 3b 0d 09 09 7d 0d | 09 09 0d 09 09 69 6e 53 |tB;...}.|.....inS|
|00002430| 72 63 65 20 2b 3d 20 69 | 6e 42 79 74 65 73 50 65 |rce += i|nBytesPe|
|00002440| 72 52 6f 77 3b 0d 09 7d | 0d 7d 0d 0d 0d 0d 0d 0d |rRow;..}|.}......|
|00002450| 0d 0d 23 64 65 66 69 6e | 65 20 55 4c 20 75 6e 73 |..#defin|e UL uns|
|00002460| 69 67 6e 65 64 20 6c 6f | 6e 67 0d 23 64 65 66 69 |igned lo|ng.#defi|
|00002470| 6e 65 20 44 45 4e 4f 4d | 5f 53 48 49 46 54 20 31 |ne DENOM|_SHIFT 1|
|00002480| 34 0d 0d 0d 76 6f 69 64 | 20 50 69 78 50 6f 72 74 |4...void| PixPort|
|00002490| 3a 3a 5f 42 6f 78 42 6c | 75 72 28 20 63 68 61 72 |::_BoxBl|ur( char|
|000024a0| 2a 20 69 6e 53 72 63 65 | 2c 20 63 68 61 72 2a 20 |* inSrce|, char* |
|000024b0| 69 6e 44 65 73 74 2c 20 | 69 6e 74 20 69 6e 42 6f |inDest, |int inBo|
|000024c0| 78 57 69 64 74 68 2c 20 | 69 6e 74 20 69 6e 57 69 |xWidth, |int inWi|
|000024d0| 64 74 68 2c 20 69 6e 74 | 20 69 6e 48 65 69 67 68 |dth, int| inHeigh|
|000024e0| 74 2c 20 69 6e 74 20 69 | 6e 53 72 63 65 52 6f 77 |t, int i|nSrceRow|
|000024f0| 57 69 64 74 68 2c 20 69 | 6e 74 20 69 6e 44 65 73 |Width, i|nt inDes|
|00002500| 74 52 6f 77 57 69 64 74 | 68 2c 20 75 6e 73 69 67 |tRowWidt|h, unsig|
|00002510| 6e 65 64 20 6c 6f 6e 67 | 2a 20 62 2c 20 75 6e 73 |ned long|* b, uns|
|00002520| 69 67 6e 65 64 20 6c 6f | 6e 67 20 69 6e 42 61 63 |igned lo|ng inBac|
|00002530| 6b 43 6f 6c 6f 72 20 29 | 20 7b 0d 09 72 65 67 69 |kColor )| {..regi|
|00002540| 73 74 65 72 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |ster uns|igned lo|
|00002550| 6e 67 2a 20 62 45 6e 64 | 3b 0d 09 72 65 67 69 73 |ng* bEnd|;..regis|
|00002560| 74 65 72 20 63 68 61 72 | 20 2a 64 65 73 74 3b 0d |ter char| *dest;.|
|00002570| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|00002580| 65 64 20 6c 6f 6e 67 20 | 62 31 52 2c 20 62 31 47 |ed long |b1R, b1G|
|00002590| 2c 20 62 31 42 2c 20 62 | 32 52 2c 20 62 32 47 2c |, b1B, b|2R, b2G,|
|000025a0| 20 62 32 42 2c 20 62 33 | 52 2c 20 62 33 47 2c 20 | b2B, b3|R, b3G, |
|000025b0| 62 33 42 2c 20 76 61 6c | 2c 20 62 6f 78 39 57 2c |b3B, val|, box9W,|
|000025c0| 20 69 2c 20 6e 75 6d 65 | 72 61 74 6f 72 3b 0d 09 | i, nume|rator;..|
|000025d0| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 78 2c 20 |register| int x, |
|000025e0| 68 61 6c 66 2c 20 75 73 | 65 57 69 64 74 68 3b 0d |half, us|eWidth;.|
|000025f0| 09 0d 09 69 20 3d 20 69 | 6e 42 6f 78 57 69 64 74 |...i = i|nBoxWidt|
|00002600| 68 20 2a 20 69 6e 42 6f | 78 57 69 64 74 68 20 2a |h * inBo|xWidth *|
|00002610| 20 69 6e 42 6f 78 57 69 | 64 74 68 3b 0d 09 6e 75 | inBoxWi|dth;..nu|
|00002620| 6d 65 72 61 74 6f 72 20 | 3d 20 28 20 31 20 3c 3c |merator |= ( 1 <<|
|00002630| 20 44 45 4e 4f 4d 5f 53 | 48 49 46 54 20 29 20 2f | DENOM_S|HIFT ) /|
|00002640| 20 28 20 69 20 29 3b 0d | 09 62 6f 78 39 57 20 3d | ( i );.|.box9W =|
|00002650| 20 39 20 2a 20 69 6e 42 | 6f 78 57 69 64 74 68 3b | 9 * inB|oxWidth;|
|00002660| 09 09 2f 2f 20 33 20 63 | 6f 6c 6f 72 73 2c 20 33 |..// 3 c|olors, 3|
|00002670| 20 62 6f 78 65 73 0d 09 | 62 45 6e 64 20 3d 20 62 | boxes..|bEnd = b|
|00002680| 20 2b 20 62 6f 78 39 57 | 3b 0d 09 0d 09 62 31 52 | + box9W|;....b1R|
|00002690| 20 3d 20 30 3b 20 62 31 | 47 20 3d 20 30 3b 20 62 | = 0; b1|G = 0; b|
|000026a0| 31 42 20 3d 20 30 3b 0d | 09 62 32 52 20 3d 20 30 |1B = 0;.|.b2R = 0|
|000026b0| 3b 20 62 32 47 20 3d 20 | 30 3b 20 62 32 42 20 3d |; b2G = |0; b2B =|
|000026c0| 20 30 3b 0d 09 62 33 52 | 20 3d 20 69 20 3e 3e 20 | 0;..b3R| = i >> |
|000026d0| 31 3b 20 62 33 47 20 3d | 20 62 33 52 3b 20 62 33 |1; b3G =| b3R; b3|
|000026e0| 42 20 3d 20 62 33 52 3b | 09 09 2f 2f 20 72 6f 75 |B = b3R;|..// rou|
|000026f0| 6e 64 20 75 70 20 77 68 | 65 6e 20 3e 20 2e 35 0d |nd up wh|en > .5.|
|00002700| 09 66 6f 72 20 28 20 69 | 20 3d 20 30 3b 20 69 20 |.for ( i| = 0; i |
|00002710| 3c 20 62 6f 78 39 57 3b | 20 69 2b 2b 20 29 20 7b |< box9W;| i++ ) {|
|00002720| 0d 09 09 62 5b 20 69 20 | 5d 20 3d 20 30 3b 0d 09 |...b[ i |] = 0;..|
|00002730| 7d 0d 09 0d 09 68 61 6c | 66 20 3d 20 33 20 2a 20 |}....hal|f = 3 * |
|00002740| 69 6e 42 6f 78 57 69 64 | 74 68 20 2f 20 32 20 2d |inBoxWid|th / 2 -|
|00002750| 20 31 3b 0d 09 69 6e 53 | 72 63 65 20 2b 3d 20 50 | 1;..inS|rce += P|
|00002760| 5f 53 5a 20 2a 20 68 61 | 6c 66 3b 0d 09 75 73 65 |_SZ * ha|lf;..use|
|00002770| 57 69 64 74 68 20 3d 20 | 69 6e 57 69 64 74 68 20 |Width = |inWidth |
|00002780| 2d 20 68 61 6c 66 20 2d | 20 69 6e 42 6f 78 57 69 |- half -| inBoxWi|
|00002790| 64 74 68 20 25 20 32 3b | 0d 0d 09 2f 2f 20 47 6f |dth % 2;|...// Go|
|000027a0| 20 74 68 72 75 20 72 6f | 77 20 62 79 20 72 6f 77 | thru ro|w by row|
|000027b0| 20 69 6e 20 74 68 65 20 | 73 6f 75 72 63 65 20 69 | in the |source i|
|000027c0| 6d 67 0d 09 66 6f 72 20 | 28 20 3b 20 69 6e 48 65 |mg..for |( ; inHe|
|000027d0| 69 67 68 74 20 3e 20 30 | 3b 20 69 6e 48 65 69 67 |ight > 0|; inHeig|
|000027e0| 68 74 2d 2d 20 29 20 7b | 0d 09 09 0d 09 09 2f 2f |ht-- ) {|......//|
|000027f0| 20 47 6f 20 74 68 72 75 | 20 74 68 65 20 72 6f 77 | Go thru| the row|
|00002800| 0d 09 09 64 65 73 74 20 | 3d 20 69 6e 44 65 73 74 |...dest |= inDest|
|00002810| 3b 0d 09 09 0d 09 09 66 | 6f 72 20 28 20 78 20 3d |;......f|or ( x =|
|00002820| 20 2d 20 68 61 6c 66 20 | 2d 20 35 3b 20 78 20 3c | - half |- 5; x <|
|00002830| 20 69 6e 57 69 64 74 68 | 3b 20 78 2b 2b 20 29 20 | inWidth|; x++ ) |
|00002840| 7b 0d 09 09 09 09 0d 09 | 09 09 2f 2f 20 4d 61 69 |{.......|..// Mai|
|00002850| 6e 74 61 69 6e 20 74 68 | 65 20 63 69 72 63 75 6c |ntain th|e circul|
|00002860| 61 72 20 62 75 66 66 65 | 72 0d 09 09 09 69 66 20 |ar buffe|r....if |
|00002870| 28 20 62 20 3d 3d 20 62 | 45 6e 64 20 29 0d 09 09 |( b == b|End )...|
|00002880| 09 09 62 20 2d 3d 20 62 | 6f 78 39 57 3b 20 0d 09 |..b -= b|ox9W; ..|
|00002890| 09 09 09 0d 09 09 09 2f | 2f 20 70 20 3d 20 66 65 |......./|/ p = fe|
|000028a0| 74 63 68 20 6e 65 78 74 | 20 70 69 78 20 66 72 6f |tch next| pix fro|
|000028b0| 6d 20 62 31 0d 09 09 09 | 69 66 20 28 20 78 20 3e |m b1....|if ( x >|
|000028c0| 3d 20 30 20 26 26 20 78 | 20 3c 20 75 73 65 57 69 |= 0 && x| < useWi|
|000028d0| 64 74 68 20 29 20 7b 0d | 09 09 09 09 76 61 6c 20 |dth ) {.|....val |
|000028e0| 3d 20 2a 28 20 28 50 49 | 58 54 59 50 45 2a 29 20 |= *( (PI|XTYPE*) |
|000028f0| 69 6e 53 72 63 65 20 29 | 3b 0d 09 09 09 09 69 6e |inSrce )|;.....in|
|00002900| 53 72 63 65 20 2b 3d 20 | 50 5f 53 5a 3b 20 7d 0d |Srce += |P_SZ; }.|
|00002910| 09 09 09 65 6c 73 65 0d | 09 09 09 09 76 61 6c 20 |...else.|....val |
|00002920| 3d 20 69 6e 42 61 63 6b | 43 6f 6c 6f 72 3b 0d 09 |= inBack|Color;..|
|00002930| 09 09 0d 09 09 09 2f 2f | 20 70 27 20 2b 3d 20 6e |......//| p' += n|
|00002940| 65 77 20 70 69 78 20 2d | 20 65 6e 64 20 70 69 78 |ew pix -| end pix|
|00002950| 20 61 6e 64 20 73 74 6f | 72 65 20 6e 65 77 20 70 | and sto|re new p|
|00002960| 69 78 0d 09 09 09 69 20 | 3d 20 76 61 6c 20 3e 3e |ix....i |= val >>|
|00002970| 20 52 45 44 53 48 49 46 | 54 3b 20 20 09 09 09 09 | REDSHIF|T; ....|
|00002980| 62 31 52 20 2b 3d 20 69 | 20 2d 20 62 5b 30 5d 3b |b1R += i| - b[0];|
|00002990| 09 09 62 5b 30 5d 20 3d | 20 69 3b 0d 09 09 09 69 |..b[0] =| i;....i|
|000029a0| 20 3d 20 28 76 61 6c 20 | 3e 3e 20 47 52 4e 53 48 | = (val |>> GRNSH|
|000029b0| 49 46 54 29 20 26 20 43 | 4f 4c 4d 41 53 4b 3b 20 |IFT) & C|OLMASK; |
|000029c0| 09 62 31 47 20 2b 3d 20 | 69 20 2d 20 62 5b 31 5d |.b1G += |i - b[1]|
|000029d0| 3b 09 09 62 5b 31 5d 20 | 3d 20 69 3b 0d 09 09 09 |;..b[1] |= i;....|
|000029e0| 69 20 3d 20 76 61 6c 20 | 26 20 43 4f 4c 4d 41 53 |i = val |& COLMAS|
|000029f0| 4b 3b 20 20 09 09 09 09 | 62 31 42 20 2b 3d 20 69 |K; ....|b1B += i|
|00002a00| 20 2d 20 62 5b 32 5d 3b | 09 09 62 5b 32 5d 20 3d | - b[2];|..b[2] =|
|00002a10| 20 69 3b 0d 0d 09 09 09 | 2f 2f 20 53 74 6f 72 65 | i;.....|// Store|
|00002a20| 20 74 68 65 20 62 32 27 | 73 20 6e 65 77 20 70 69 | the b2'|s new pi|
|00002a30| 78 20 61 6e 64 20 63 61 | 6c 63 20 69 74 73 20 6e |x and ca|lc its n|
|00002a40| 65 77 20 70 69 78 65 6c | 0d 09 09 09 62 32 52 20 |ew pixel|....b2R |
|00002a50| 2b 3d 20 62 31 52 20 2d | 20 62 5b 33 5d 3b 09 09 |+= b1R -| b[3];..|
|00002a60| 62 5b 33 5d 20 3d 20 62 | 31 52 3b 0d 09 09 09 62 |b[3] = b|1R;....b|
|00002a70| 32 47 20 2b 3d 20 62 31 | 47 20 2d 20 62 5b 34 5d |2G += b1|G - b[4]|
|00002a80| 3b 09 09 62 5b 34 5d 20 | 3d 20 62 31 47 3b 0d 09 |;..b[4] |= b1G;..|
|00002a90| 09 09 62 32 42 20 2b 3d | 20 62 31 42 20 2d 20 62 |..b2B +=| b1B - b|
|00002aa0| 5b 35 5d 3b 09 09 62 5b | 35 5d 20 3d 20 62 31 42 |[5];..b[|5] = b1B|
|00002ab0| 3b 0d 0d 09 09 09 2f 2f | 20 53 74 6f 72 65 20 74 |;.....//| Store t|
|00002ac0| 68 65 20 62 33 27 73 20 | 6e 65 77 20 70 69 78 20 |he b3's |new pix |
|00002ad0| 61 6e 64 20 63 61 6c 63 | 20 69 74 73 20 6e 65 77 |and calc| its new|
|00002ae0| 20 70 69 78 65 6c 0d 09 | 09 09 62 33 52 20 2b 3d | pixel..|..b3R +=|
|00002af0| 20 62 32 52 20 2d 20 62 | 5b 36 5d 3b 09 09 62 5b | b2R - b|[6];..b[|
|00002b00| 36 5d 20 3d 20 62 32 52 | 3b 0d 09 09 09 62 33 47 |6] = b2R|;....b3G|
|00002b10| 20 2b 3d 20 62 32 47 20 | 2d 20 62 5b 37 5d 3b 09 | += b2G |- b[7];.|
|00002b20| 09 62 5b 37 5d 20 3d 20 | 62 32 47 3b 0d 09 09 09 |.b[7] = |b2G;....|
|00002b30| 62 33 42 20 2b 3d 20 62 | 32 42 20 2d 20 62 5b 38 |b3B += b|2B - b[8|
|00002b40| 5d 3b 09 09 62 5b 38 5d | 20 3d 20 62 32 42 3b 0d |];..b[8]| = b2B;.|
|00002b50| 09 09 09 0d 09 09 09 2f | 2f 20 54 72 61 6e 73 70 |......./|/ Transp|
|00002b60| 6f 73 65 20 74 68 65 20 | 66 69 6e 61 6c 20 70 69 |ose the |final pi|
|00002b70| 78 65 6c 20 63 61 6c 63 | 75 6c 61 74 69 6f 6e 73 |xel calc|ulations|
|00002b80| 0d 09 09 09 69 66 20 28 | 20 78 20 3e 3d 20 30 20 |....if (| x >= 0 |
|00002b90| 29 20 7b 0d 09 09 09 09 | 2a 28 28 50 49 58 54 59 |) {.....|*((PIXTY|
|00002ba0| 50 45 2a 29 64 65 73 74 | 29 20 3d 20 28 20 28 28 |PE*)dest|) = ( ((|
|00002bb0| 20 6e 75 6d 65 72 61 74 | 6f 72 20 2a 20 62 33 52 | numerat|or * b3R|
|00002bc0| 20 29 20 3e 3e 20 44 45 | 4e 4f 4d 5f 53 48 49 46 | ) >> DE|NOM_SHIF|
|00002bd0| 54 29 20 3c 3c 20 52 45 | 44 53 48 49 46 54 20 29 |T) << RE|DSHIFT )|
|00002be0| 20 7c 20 28 20 28 28 20 | 6e 75 6d 65 72 61 74 6f | | ( (( |numerato|
|00002bf0| 72 20 2a 20 62 33 47 20 | 29 20 3e 3e 20 44 45 4e |r * b3G |) >> DEN|
|00002c00| 4f 4d 5f 53 48 49 46 54 | 29 20 3c 3c 20 47 52 4e |OM_SHIFT|) << GRN|
|00002c10| 53 48 49 46 54 20 29 20 | 7c 20 28 28 20 6e 75 6d |SHIFT ) || (( num|
|00002c20| 65 72 61 74 6f 72 20 2a | 20 62 33 42 20 29 20 3e |erator *| b3B ) >|
|00002c30| 3e 20 44 45 4e 4f 4d 5f | 53 48 49 46 54 29 3b 0d |> DENOM_|SHIFT);.|
|00002c40| 09 09 09 09 64 65 73 74 | 20 2b 3d 20 69 6e 44 65 |....dest| += inDe|
|00002c50| 73 74 52 6f 77 57 69 64 | 74 68 3b 0d 09 09 09 7d |stRowWid|th;....}|
|00002c60| 0d 09 09 09 0d 09 09 09 | 2f 2f 20 4d 61 69 6e 74 |........|// Maint|
|00002c70| 61 69 6e 20 6f 75 72 20 | 63 69 72 63 75 6c 61 72 |ain our |circular|
|00002c80| 20 62 75 66 66 65 72 0d | 09 09 09 62 20 2b 3d 20 | buffer.|...b += |
|00002c90| 39 3b 0d 0d 09 09 7d 0d | 09 09 09 0d 09 09 2f 2f |9;....}.|......//|
|00002ca0| 20 44 6f 20 6e 65 78 74 | 20 72 6f 77 0d 09 09 69 | Do next| row...i|
|00002cb0| 6e 53 72 63 65 20 2b 3d | 20 69 6e 53 72 63 65 52 |nSrce +=| inSrceR|
|00002cc0| 6f 77 57 69 64 74 68 20 | 2d 20 50 5f 53 5a 20 2a |owWidth |- P_SZ *|
|00002cd0| 20 75 73 65 57 69 64 74 | 68 3b 0d 09 09 69 6e 44 | useWidt|h;...inD|
|00002ce0| 65 73 74 20 2b 3d 20 50 | 5f 53 5a 3b 0d 09 7d 0d |est += P|_SZ;..}.|
|00002cf0| 7d 0d 0d 0d 0d 2f 2a 0d | 74 68 69 73 20 6d 6f 64 |}..../*.|this mod|
|00002d00| 69 66 69 63 61 74 69 6f | 6e 20 74 6f 20 42 6f 78 |ificatio|n to Box|
|00002d10| 42 6c 75 72 20 6f 6e 6c | 79 20 62 6c 75 72 73 20 |Blur onl|y blurs |
|00002d20| 74 68 65 20 78 20 72 6f | 77 0d 76 6f 69 64 20 50 |the x ro|w.void P|
|00002d30| 69 78 50 6f 72 74 3a 3a | 5f 42 6f 78 42 6c 75 72 |ixPort::|_BoxBlur|
|00002d40| 28 20 63 68 61 72 2a 20 | 69 6e 53 72 63 65 2c 20 |( char* |inSrce, |
|00002d50| 63 68 61 72 2a 2c 20 69 | 6e 74 20 69 6e 42 6f 78 |char*, i|nt inBox|
|00002d60| 57 69 64 74 68 2c 20 69 | 6e 74 20 69 6e 57 69 64 |Width, i|nt inWid|
|00002d70| 74 68 2c 20 69 6e 74 20 | 69 6e 48 65 69 67 68 74 |th, int |inHeight|
|00002d80| 2c 20 69 6e 74 20 69 6e | 53 72 63 65 52 6f 77 57 |, int in|SrceRowW|
|00002d90| 69 64 74 68 2c 20 69 6e | 74 2c 20 63 68 61 72 2a |idth, in|t, char*|
|00002da0| 20 62 2c 20 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e | b, unsi|gned lon|
|00002db0| 67 20 69 6e 42 61 63 6b | 43 6f 6c 6f 72 20 29 20 |g inBack|Color ) |
|00002dc0| 7b 0d 0d 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |{...regi|ster cha|
|00002dd0| 72 20 2a 62 45 6e 64 3b | 0d 09 72 65 67 69 73 74 |r *bEnd;|..regist|
|00002de0| 65 72 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |er unsig|ned long|
|00002df0| 20 62 31 52 2c 20 62 31 | 47 2c 20 62 31 42 2c 20 | b1R, b1|G, b1B, |
|00002e00| 62 32 52 2c 20 62 32 47 | 2c 20 62 32 42 2c 20 62 |b2R, b2G|, b2B, b|
|00002e10| 33 52 2c 20 62 33 47 2c | 20 62 33 42 2c 20 76 61 |3R, b3G,| b3B, va|
|00002e20| 6c 2c 20 62 6f 78 39 57 | 2c 20 69 2c 20 64 65 6e |l, box9W|, i, den|
|00002e30| 6f 6d 3b 0d 09 72 65 67 | 69 73 74 65 72 20 69 6e |om;..reg|ister in|
|00002e40| 74 20 78 2c 20 68 61 6c | 66 2c 20 75 73 65 57 69 |t x, hal|f, useWi|
|00002e50| 64 74 68 3b 0d 09 0d 09 | 0d 09 64 65 6e 6f 6d 20 |dth;....|..denom |
|00002e60| 3d 20 69 6e 42 6f 78 57 | 69 64 74 68 20 2a 20 69 |= inBoxW|idth * i|
|00002e70| 6e 42 6f 78 57 69 64 74 | 68 20 2a 20 69 6e 42 6f |nBoxWidt|h * inBo|
|00002e80| 78 57 69 64 74 68 3b 0d | 09 62 6f 78 39 57 20 3d |xWidth;.|.box9W =|
|00002e90| 20 33 36 20 2a 20 69 6e | 42 6f 78 57 69 64 74 68 | 36 * in|BoxWidth|
|00002ea0| 3b 09 09 2f 2f 20 33 20 | 63 6f 6c 6f 72 73 2c 20 |;..// 3 |colors, |
|00002eb0| 33 20 62 6f 78 65 73 2c | 20 34 20 62 79 74 65 73 |3 boxes,| 4 bytes|
|00002ec0| 20 70 65 72 20 6c 6f 6e | 67 0d 09 62 45 6e 64 20 | per lon|g..bEnd |
|00002ed0| 3d 20 62 20 2b 20 62 6f | 78 39 57 3b 0d 09 0d 09 |= b + bo|x9W;....|
|00002ee0| 62 31 52 20 3d 20 30 3b | 20 62 31 47 20 3d 20 30 |b1R = 0;| b1G = 0|
|00002ef0| 3b 20 62 31 42 20 3d 20 | 30 3b 0d 09 62 32 52 20 |; b1B = |0;..b2R |
|00002f00| 3d 20 30 3b 20 62 32 47 | 20 3d 20 30 3b 20 62 32 |= 0; b2G| = 0; b2|
|00002f10| 42 20 3d 20 30 3b 0d 09 | 62 33 52 20 3d 20 30 3b |B = 0;..|b3R = 0;|
|00002f20| 20 62 33 47 20 3d 20 30 | 3b 20 62 33 42 20 3d 20 | b3G = 0|; b3B = |
|00002f30| 30 3b 0d 09 66 6f 72 20 | 28 20 69 20 3d 20 30 3b |0;..for |( i = 0;|
|00002f40| 20 69 20 3c 20 39 20 2a | 20 69 6e 42 6f 78 57 69 | i < 9 *| inBoxWi|
|00002f50| 64 74 68 3b 20 29 20 7b | 0d 09 09 2a 28 28 55 4c |dth; ) {|...*((UL|
|00002f60| 2a 29 20 62 20 2b 20 69 | 29 20 3d 20 30 3b 09 69 |*) b + i|) = 0;.i|
|00002f70| 2b 2b 3b 0d 09 7d 0d 09 | 0d 09 68 61 6c 66 20 3d |++;..}..|..half =|
|00002f80| 20 33 20 2a 20 69 6e 42 | 6f 78 57 69 64 74 68 20 | 3 * inB|oxWidth |
|00002f90| 2f 20 32 20 2d 20 31 3b | 0d 09 69 6e 53 72 63 65 |/ 2 - 1;|..inSrce|
|00002fa0| 20 2b 3d 20 50 5f 53 5a | 20 2a 20 68 61 6c 66 3b | += P_SZ| * half;|
|00002fb0| 0d 09 75 73 65 57 69 64 | 74 68 20 3d 20 69 6e 57 |..useWid|th = inW|
|00002fc0| 69 64 74 68 20 2d 20 68 | 61 6c 66 20 2d 20 69 6e |idth - h|alf - in|
|00002fd0| 42 6f 78 57 69 64 74 68 | 20 25 20 32 3b 0d 0d 09 |BoxWidth| % 2;...|
|00002fe0| 2f 2f 20 47 6f 20 74 68 | 72 75 20 72 6f 77 20 62 |// Go th|ru row b|
|00002ff0| 79 20 72 6f 77 20 69 6e | 20 74 68 65 20 73 6f 75 |y row in| the sou|
|00003000| 72 63 65 20 69 6d 67 0d | 09 66 6f 72 20 28 20 3b |rce img.|.for ( ;|
|00003010| 20 69 6e 48 65 69 67 68 | 74 20 3e 20 30 3b 20 69 | inHeigh|t > 0; i|
|00003020| 6e 48 65 69 67 68 74 2d | 2d 20 29 20 7b 0d 09 09 |nHeight-|- ) {...|
|00003030| 09 09 0d 09 09 66 6f 72 | 20 28 20 78 20 3d 20 2d |.....for| ( x = -|
|00003040| 20 68 61 6c 66 20 2d 20 | 35 3b 20 78 20 3c 20 69 | half - |5; x < i|
|00003050| 6e 57 69 64 74 68 3b 20 | 78 2b 2b 20 29 20 7b 0d |nWidth; |x++ ) {.|
|00003060| 09 09 09 09 0d 09 09 09 | 2f 2f 20 4d 61 69 6e 74 |........|// Maint|
|00003070| 61 69 6e 20 6f 75 72 20 | 63 69 72 63 75 6c 61 72 |ain our |circular|
|00003080| 20 62 75 66 66 65 72 0d | 09 09 09 69 66 20 28 20 | buffer.|...if ( |
|00003090| 62 20 3d 3d 20 62 45 6e | 64 20 29 20 0d 09 09 09 |b == bEn|d ) ....|
|000030a0| 09 62 20 2d 3d 20 62 6f | 78 39 57 3b 20 0d 0d 09 |.b -= bo|x9W; ...|
|000030b0| 09 09 2f 2f 20 70 20 3d | 20 66 65 74 63 68 20 6e |..// p =| fetch n|
|000030c0| 65 78 74 20 70 69 78 20 | 66 72 6f 6d 20 62 31 0d |ext pix |from b1.|
|000030d0| 09 09 09 69 66 20 28 20 | 78 20 3e 3d 20 30 20 26 |...if ( |x >= 0 &|
|000030e0| 26 20 78 20 3c 20 75 73 | 65 57 69 64 74 68 20 29 |& x < us|eWidth )|
|000030f0| 20 7b 0d 09 09 09 09 76 | 61 6c 20 3d 20 2a 28 20 | {.....v|al = *( |
|00003100| 28 50 49 58 54 59 50 45 | 2a 29 20 69 6e 53 72 63 |(PIXTYPE|*) inSrc|
|00003110| 65 20 29 3b 7d 0d 09 09 | 09 65 6c 73 65 0d 09 09 |e );}...|.else...|
|00003120| 09 09 76 61 6c 20 3d 20 | 69 6e 42 61 63 6b 43 6f |..val = |inBackCo|
|00003130| 6c 6f 72 3b 0d 09 09 09 | 0d 09 09 09 2f 2f 20 70 |lor;....|....// p|
|00003140| 27 20 2b 3d 20 6e 65 77 | 20 70 69 78 20 2d 20 65 |' += new| pix - e|
|00003150| 6e 64 20 70 69 78 20 61 | 6e 64 20 73 74 6f 72 65 |nd pix a|nd store|
|00003160| 20 6e 65 77 20 70 69 78 | 0d 09 09 09 69 20 3d 20 | new pix|....i = |
|00003170| 76 61 6c 20 3e 3e 20 52 | 45 44 53 48 49 46 54 3b |val >> R|EDSHIFT;|
|00003180| 20 20 09 09 09 09 62 31 | 52 20 2b 3d 20 69 20 2d | ....b1|R += i -|
|00003190| 20 2a 28 28 55 4c 2a 29 | 62 29 3b 09 09 2a 28 28 | *((UL*)|b);..*((|
|000031a0| 55 4c 2a 29 62 29 20 3d | 20 69 3b 09 62 20 2b 3d |UL*)b) =| i;.b +=|
|000031b0| 20 34 3b 0d 09 09 09 69 | 20 3d 20 28 76 61 6c 20 | 4;....i| = (val |
|000031c0| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C|
|000031d0| 4f 4c 4d 41 53 4b 3b 20 | 09 62 31 47 20 2b 3d 20 |OLMASK; |.b1G += |
|000031e0| 69 20 2d 20 2a 28 28 55 | 4c 2a 29 62 29 3b 09 09 |i - *((U|L*)b);..|
|000031f0| 2a 28 28 55 4c 2a 29 62 | 29 20 3d 20 69 3b 09 62 |*((UL*)b|) = i;.b|
|00003200| 20 2b 3d 20 34 3b 0d 09 | 09 09 69 20 3d 20 76 61 | += 4;..|..i = va|
|00003210| 6c 20 26 20 43 4f 4c 4d | 41 53 4b 3b 20 20 09 09 |l & COLM|ASK; ..|
|00003220| 09 09 62 31 42 20 2b 3d | 20 69 20 2d 20 2a 28 28 |..b1B +=| i - *((|
|00003230| 55 4c 2a 29 62 29 3b 09 | 09 2a 28 28 55 4c 2a 29 |UL*)b);.|.*((UL*)|
|00003240| 62 29 20 3d 20 69 3b 09 | 62 20 2b 3d 20 34 3b 0d |b) = i;.|b += 4;.|
|00003250| 0d 09 09 09 2f 2f 20 53 | 74 6f 72 65 20 74 68 65 |....// S|tore the|
|00003260| 20 62 32 27 73 20 6e 65 | 77 20 70 69 78 20 61 6e | b2's ne|w pix an|
|00003270| 64 20 63 61 6c 63 20 69 | 74 73 20 6e 65 77 20 70 |d calc i|ts new p|
|00003280| 69 78 65 6c 0d 09 09 09 | 62 32 52 20 2b 3d 20 62 |ixel....|b2R += b|
|00003290| 31 52 20 2d 20 2a 28 28 | 55 4c 2a 29 62 29 3b 09 |1R - *((|UL*)b);.|
|000032a0| 09 2a 28 28 55 4c 2a 29 | 62 29 20 3d 20 62 31 52 |.*((UL*)|b) = b1R|
|000032b0| 3b 09 62 20 2b 3d 20 34 | 3b 0d 09 09 09 62 32 47 |;.b += 4|;....b2G|
|000032c0| 20 2b 3d 20 62 31 47 20 | 2d 20 2a 28 28 55 4c 2a | += b1G |- *((UL*|
|000032d0| 29 62 29 3b 09 09 2a 28 | 28 55 4c 2a 29 62 29 20 |)b);..*(|(UL*)b) |
|000032e0| 3d 20 62 31 47 3b 09 62 | 20 2b 3d 20 34 3b 0d 09 |= b1G;.b| += 4;..|
|000032f0| 09 09 62 32 42 20 2b 3d | 20 62 31 42 20 2d 20 2a |..b2B +=| b1B - *|
|00003300| 28 28 55 4c 2a 29 62 29 | 3b 09 09 2a 28 28 55 4c |((UL*)b)|;..*((UL|
|00003310| 2a 29 62 29 20 3d 20 62 | 31 42 3b 09 62 20 2b 3d |*)b) = b|1B;.b +=|
|00003320| 20 34 3b 0d 0d 09 09 09 | 2f 2f 20 53 74 6f 72 65 | 4;.....|// Store|
|00003330| 20 74 68 65 20 62 33 27 | 73 20 6e 65 77 20 70 69 | the b3'|s new pi|
|00003340| 78 20 61 6e 64 20 63 61 | 6c 63 20 69 74 73 20 6e |x and ca|lc its n|
|00003350| 65 77 20 70 69 78 65 6c | 0d 09 09 09 62 33 52 20 |ew pixel|....b3R |
|00003360| 2b 3d 20 62 32 52 20 2d | 20 2a 28 28 55 4c 2a 29 |+= b2R -| *((UL*)|
|00003370| 62 29 3b 09 09 2a 28 28 | 55 4c 2a 29 62 29 20 3d |b);..*((|UL*)b) =|
|00003380| 20 62 32 52 3b 09 62 20 | 2b 3d 20 34 3b 0d 09 09 | b2R;.b |+= 4;...|
|00003390| 09 62 33 47 20 2b 3d 20 | 62 32 47 20 2d 20 2a 28 |.b3G += |b2G - *(|
|000033a0| 28 55 4c 2a 29 62 29 3b | 09 09 2a 28 28 55 4c 2a |(UL*)b);|..*((UL*|
|000033b0| 29 62 29 20 3d 20 62 32 | 47 3b 09 62 20 2b 3d 20 |)b) = b2|G;.b += |
|000033c0| 34 3b 0d 09 09 09 62 33 | 42 20 2b 3d 20 62 32 42 |4;....b3|B += b2B|
|000033d0| 20 2d 20 2a 28 28 55 4c | 2a 29 62 29 3b 09 09 2a | - *((UL|*)b);..*|
|000033e0| 28 28 55 4c 2a 29 62 29 | 20 3d 20 62 32 42 3b 09 |((UL*)b)| = b2B;.|
|000033f0| 62 20 2b 3d 20 34 3b 0d | 09 09 09 0d 09 09 09 2f |b += 4;.|......./|
|00003400| 2f 20 54 72 61 6e 73 70 | 6f 73 65 20 74 68 65 20 |/ Transp|ose the |
|00003410| 66 69 6e 61 6c 20 70 69 | 78 65 6c 20 63 61 6c 63 |final pi|xel calc|
|00003420| 75 6c 61 74 69 6f 6e 73 | 0d 09 09 09 69 66 20 28 |ulations|....if (|
|00003430| 20 78 20 3e 3d 20 30 20 | 29 20 7b 0d 09 09 09 09 | x >= 0 |) {.....|
|00003440| 2a 28 28 50 49 58 54 59 | 50 45 2a 29 69 6e 53 72 |*((PIXTY|PE*)inSr|
|00003450| 63 65 29 20 3d 20 28 20 | 28 62 33 52 2f 64 65 6e |ce) = ( |(b3R/den|
|00003460| 6f 6d 29 20 3c 3c 20 52 | 45 44 53 48 49 46 54 20 |om) << R|EDSHIFT |
|00003470| 29 20 7c 20 28 20 28 20 | 62 33 47 2f 64 65 6e 6f |) | ( ( |b3G/deno|
|00003480| 6d 20 29 20 3c 3c 20 47 | 52 4e 53 48 49 46 54 20 |m ) << G|RNSHIFT |
|00003490| 29 20 7c 20 28 20 62 33 | 42 2f 64 65 6e 6f 6d 20 |) | ( b3|B/denom |
|000034a0| 29 3b 0d 09 09 09 09 69 | 6e 53 72 63 65 20 2b 3d |);.....i|nSrce +=|
|000034b0| 20 50 5f 53 5a 3b 0d 09 | 09 09 7d 0d 09 09 7d 0d | P_SZ;..|..}...}.|
|000034c0| 09 09 09 0d 09 09 2f 2f | 20 44 6f 20 6e 65 78 74 |......//| Do next|
|000034d0| 20 72 6f 77 0d 09 09 69 | 6e 53 72 63 65 20 2b 3d | row...i|nSrce +=|
|000034e0| 20 69 6e 53 72 63 65 52 | 6f 77 57 69 64 74 68 20 | inSrceR|owWidth |
|000034f0| 2d 20 50 5f 53 5a 20 2a | 20 69 6e 57 69 64 74 68 |- P_SZ *| inWidth|
|00003500| 3b 0d 09 7d 0d 7d 0d 2a | 2f 0d 0d 0d 0d 23 75 6e |;..}.}.*|/....#un|
|00003510| 64 65 66 20 50 49 58 54 | 59 50 45 0d 23 75 6e 64 |def PIXT|YPE.#und|
|00003520| 65 66 20 52 45 44 53 48 | 49 46 54 0d 23 75 6e 64 |ef REDSH|IFT.#und|
|00003530| 65 66 20 47 52 4e 53 48 | 49 46 54 0d 23 75 6e 64 |ef GRNSH|IFT.#und|
|00003540| 65 66 20 43 4f 4c 4d 41 | 53 4b 0d 23 75 6e 64 65 |ef COLMA|SK.#unde|
|00003550| 66 20 5f 4c 69 6e 65 0d | 23 75 6e 64 65 66 20 5f |f _Line.|#undef _|
|00003560| 4c 69 6e 65 57 0d 23 75 | 6e 64 65 66 20 5f 42 6f |LineW.#u|ndef _Bo|
|00003570| 78 42 6c 75 72 0d 23 75 | 6e 64 65 66 20 5f 43 72 |xBlur.#u|ndef _Cr|
|00003580| 6f 73 73 42 6c 75 72 0d | 23 75 6e 64 65 66 20 5f |ossBlur.|#undef _|
|00003590| 45 72 61 73 65 52 65 63 | 74 0d 23 75 6e 64 65 66 |EraseRec|t.#undef|
|000035a0| 20 5f 5f 43 6c 72 0d 00 | 00 00 00 00 00 00 00 00 | __Clr..|........|
|000035b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000035c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000035d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000035e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000035f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003600| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00003610| 31 10 00 67 06 5d 41 6a | f6 60 34 30 3c f3 dc 43 |1..g.]Aj|.`40<..C|
|00003620| f1 10 02 40 e7 46 fc 26 | 00 26 51 26 0b 66 04 46 |...@.F.&|.&Q&.f.F|
|00003630| df 60 1c b1 eb 00 04 67 | 04 22 4b 60 ec 22 93 46 |.`.....g|."K`.".F|
|00003640| df 42 6a 00 02 a0 2a 20 | 4b a1 28 a0 2a a0 23 4c |.Bj...* |K.(.*.#L|
|00003650| df 0c 08 4e ba fb 80 76 | 04 b2 43 64 02 36 01 4b |...N...v|..Cd.6.K|
|00003660| fa fa be 2b 4b 00 02 34 | 03 48 42 14 00 4a 43 67 |...+K..4|.HB..JCg|
|00003670| 04 4e 94 66 38 47 fa fa | 60 76 0b b4 33 30 00 57 |.N.f8G..|`v..30.W|
|00003680| cb ff fa 66 2a e5 4b 3a | 83 26 73 30 18 20 0b 67 |...f*.K:|.&s0. .g|
|00003690| 1e 26 6b 00 04 26 53 36 | 2b 00 10 26 6b 00 14 48 |.&k..&S6|+..&k..H|
|000036a0| 42 d6 c2 96 42 4e ac 00 | 02 66 02 60 08 4e 75 76 |B...BN..|.f.`.Nuv|
|000036b0| 00 4e ec 00 02 4a 43 6c | 04 30 3c f3 e3 2f 0a 43 |.N...JCl|.0<../.C|
|000036c0| fa fa 5e 45 fa fa 12 32 | 11 24 72 10 18 20 6a 00 |..^E...2|.$r.. j.|
|000036d0| 04 20 50 32 28 00 10 92 | 43 31 41 00 12 26 69 00 |. P2(...|C1A..&i.|
|000036e0| 02 24 68 00 14 b4 68 00 | 10 6f 04 34 28 00 10 53 |.$h...h.|.o.4(..S|
|000036f0| 42 6d 08 15 b3 20 00 20 | 00 60 f4 24 5f 31 40 00 |Bm... . |.`.$_1@.|
|00003700| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00003710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003720| 00 00 00 00 00 00 00 03 | 00 04 00 6a 00 12 02 36 |........|...j...6|
|00003730| 02 b6 00 6a 00 12 02 36 | 02 b6 b3 c9 64 c5 00 00 |...j...6|....d...|
|00003740| 26 4c 00 00 26 4c 00 00 | 23 c6 01 00 00 00 00 04 |&L..&L..|#.......|
|00003750| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00003760| 00 00 00 46 05 bf 0d e0 | 14 92 00 00 00 1c 00 46 |...F....|.......F|
|00003770| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00003780| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00003790| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000037a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+